【发布时间】:2016-05-27 09:23:28
【问题描述】:
我想问一下为什么我的程序 ReadByte() 函数返回不同的值。我的 USB 端口将发送一个字节值 8,但是,当 c# 程序读取它时,它收到一个值 56。为什么会发生这种情况? c#代码如下:
private void serial_Click(object sender, EventArgs e)
{
SerialPort port = new SerialPort("COM4", 9600);
port.Open();
int num1 = 0;
num1 = port.ReadByte();
String a = Convert.ToString(num1);
MessageBox.Show(a);
port.Close();
}
非常感谢您的帮助。
【问题讨论】:
-
我认为您应该尝试使用数据包嗅探器来调试设备实际发送的内容。试试 Microsoft 的消息分析器:msdn.microsoft.com/en-us/library/windows/hardware/… 我可以看到 56 和 8 都以二进制 1000 结尾,但如果不实际调试从 USB 驱动器发送的消息,我就不能说太多。