0
我正在读取发送到虚拟串行端口的一些字节,这些字节来自PIC单片机,我使用ISIS进行仿真,并且C#捕获并显示这些字节。总是从C#中的串行端口接收“?”
在C#中,我只是打开虚拟串口,然后读取传入数据。
SerialPort s = new SerialPort("COM2");
s.Open();
当我点击一个按钮,执行一种方法,其包含...
TextBox1.Text = s.BytesToRead.ToString(); //Displays the number of received Bytes.
TextBox2.Text = s.ReadExisting();
我使用的PIC的语言是质子。
我只是发出PORTB内部的内容。
PORTB = 10
HSerOut [PORTB]
结果总是“?”。
HSerOut [“Hello”] - > ?????
我错过了什么?
?意味着不可打印的字符。检查整数值以确保您获得预期值。通过嵌入式开发,二进制值比文本更好。另外你使用的是什么“Endianness”? – 2013-04-27 15:51:06
您的代码片段可以工作的几率很小。您必须注意串口设置。波特率是一个非常重要的字符,当它被设置错误时会产生非ASCII字符。哪些会产生问号。 – 2013-04-27 18:45:38