我有一个电路有8条输入线和一条电缆连接到计算机的串行端口。端口控制器并联连接。 (我不知道这意味着什么!电子工程系的学生说这意味着“你必须异步使用信号,例如每个信号可以对其他人独立或独立)”装配RS232端口通信
现在我应该写一个汇编代码它从文件读取一些输入,处理它们,并将这些数据行设置为或打开。我可以做前2名,但对端口没有任何想法。
你能给我一个开始吗?例如,我如何初始化一个端口以及如何在PC的串行端口上设置一行数据?
我有一个电路有8条输入线和一条电缆连接到计算机的串行端口。端口控制器并联连接。 (我不知道这意味着什么!电子工程系的学生说这意味着“你必须异步使用信号,例如每个信号可以对其他人独立或独立)”装配RS232端口通信
现在我应该写一个汇编代码它从文件读取一些输入,处理它们,并将这些数据行设置为或打开。我可以做前2名,但对端口没有任何想法。
你能给我一个开始吗?例如,我如何初始化一个端口以及如何在PC的串行端口上设置一行数据?
我真的认为你感到困惑 - 很多。 RS 232是协议串口端口使用。在它的9引脚版本(DE-9)中,它有8条可用数据线,但其中只有一半是输出引脚,并且无法真正控制数据引脚,因此无法通过它发送实际数据。除非你有一个装有微控制器和串行接口的器件,否则我怀疑它是用于RS-232接口。
RS-232实际上是一些打印机在80年代和90年代早期使用的连接,通常是点阵式打印机。不幸的是,打印除ASCII文本以外的任何内容都太慢,因此引入了parallel port,顺便说一句,确实有有8条输出线。 端口自90年代起就被称为“打印机端口”。在现代计算机中,甚至可以单独控制并行端口的引脚,这就是为什么它被广泛用于电子产品中的原因 - 以及它使用5伏TTL接口的事实,这比12V串行更容易处理端口使用。
您也没有提及您的程序应该用于哪个操作系统,但是如果您打算直接使用汇编访问端口,则可能仅限于DOS或Windows 9x/Me。
这就是说:
既然你没有指定哪一种语言或开发环境,这里是使用VB.NET样本:
Private WithEvents m_comport1 As IO.Ports.SerialPort
Private Sub Form_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
m_comport1 = New IO.Ports.SerialPort("COM1")
AddHandler m_comport1.DataReceived, AddressOf Comport_DataReceived
End Sub
Private Sub SendData(p_data() As Byte)
m_comport1.Write(p_data, 0, p_data.Length)
End Sub
Private Sub SendData(p_data As String)
m_comport1.Write(p_data)
End Sub
Private Sub Comport_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs)
Dim bytesAvailable = m_comport1.BytesToRead
Dim tempData(bytesAvailable) As Byte
m_comport1.Read(tempData, 0, bytesAvailable)
End Sub
嗯,,,,,我指定的语言:程序集;)谢谢。虽然我不知道VB会尝试将其转换为程序集。 –
哈哈,对不起。通过Assembly,我认为你的意思是像.DLL这样的单个编译程序集。不知道任何人仍然使用集会了。祝你好运。 –
大量的汇编语言编程正在进行中,它确实不会因为编译器用来完成它们的事情而死去(不是所有的代码都已经足够流行)。对于Visual Basic,我们也可以做同样的“不知道谁再使用_blank_”。 –
你确定这是一个串行端口,而不是* *平行(又名打印机又名并口)接口? –
其实不行!我不知道电子产品。他们告诉我的唯一的事情是该端口是RS232 DB9。 (打印机端口),我应该控制8个信号。 –
好吧 - 听起来你需要一个UART。您可能想尝试在http://electronics.stackexchange.com –