我有一个VB.Net serialport.Write()函数的问题,看起来它发送的代码是"前缀"使用0x3 ..所以,当我试图发送" 1"它会显示在LED 00110001或0x31上,然后是" 2"将显示00110010。
serialport.Open()
serialport.Write(1)
虽然下面的AVR代码显示了它收到的内容:
while(1)
{
while(!ucsra.7)
{
data=UDR;
PORTC=data;
PORTB=data;
}
}
从CvAVR终端
发送时显示正确的值所以,如果有人知道它有什么问题,请帮帮我
答案 0 :(得分:1)
我认为这是因为你在串口上写String
个值,例如ASCII Table中的1
等于0x31
,我相信它解释了症状
要解决此问题,您应该将数据发送为Byte
值,在此我将字符串转换为Byte进行演示。
Dim v = "1"
Dim buffer(0) As Byte
buffer(0) = CByte(v)
serialport.Write(buffer, 0, 1)