我想编写一个用于vb.net的vfd显示器 目前,我只能将文本发送到vfd显示器,但它仍然没有正确的格式。我无法理解,所以我将包括编程手册。
我想做的事情:
以下是我使用的代码:
Dim sp As New SerialPort()
sp.PortName = "COM1"
sp.BaudRate = 9600
sp.Parity = Parity.None
sp.DataBits = 8
sp.StopBits = StopBits.One
sp.Open()
sp.WriteLine(TextBox1.Text)
sp.WriteLine(TextBox2.Text)
sp.Close()
sp.Dispose()
sp = Nothing
答案 0 :(得分:4)
要发送二进制数据,最好使用采用字节数组的SerialPort.Write
方法的重载。如果你发送字符或字符串,你将不得不处理最烦人的字符编码,最坏的情况下会失败。有时,当您将数字值编码为字符然后将其解码回数值时,解码后的值将与原始值不匹配。因此,最安全和最简单的方法是将字节值作为字节数组发送。例如:
Dim bytes() As Byte = { &H00, &H20, &HFF }
sp.Write(bytes, 0, bytes.Length)
或者,如果要分别按十六进制值加载每个字节:
Dim bytes(3) As Byte
byte(0) = &H00
byte(1) = &H20
byte(2) = &HFF
sp.Write(bytes, 0, bytes.Length)
或者,如果您只想通过其十六进制值发送单个字节:
sp.Write(New Byte() { &H20 }, 0, 1)