【发布时间】:2015-03-11 19:53:48
【问题描述】:
我正在为使用串行通信的 RasPi 编写软件。我想对其进行测试,所以我编写了一个 C# 程序来打印串行端口的输出。 我使用 USB->RS232 电缆(adafruit 电缆)将 RasPi 连接到另一台计算机。输入很好,但在每次输入之前,我都会收到一个一字节长的消息,每次都是一样的(除非我重新启动 Pi,然后那个字节会改变)。我可以以某种方式删除它吗?还是直接忽略?
EDIT2:
如果我从 PC 向 Pi 发送数据,那么这个随机字节就不会出现。
编辑:
当我在 COM 端口上监听时,我什至在 Putty 中看到了 0xf3 字节
发送字节的代码:
char data[] = { 0x01, 0x01, 0x04, 0x06 };
write(m_device, (const void*)data, 4);
我在 windows 电脑上收到的输出:
一次
0xf3
然后
0x01 0x01 0x04 0x06
【问题讨论】:
-
为什么这个标签是 C++?
-
请显示有问题的代码和输出示例。
-
这是一个随机值。你显示3F,重启后一字节的值会不一样吗?想知道它是否是一个通信分隔符。我假设覆盆子处于环回模式。如果是这样,当没有循环回来时,你会得到一个字节吗?
-
是的,重启后值会改变。在环回模式下是什么意思?在我的编辑中,我说过如果我将数据从 Windows 发送到 RasPi,那么这个字节不存在
-
你说:0xf3 然后 0x01 0x01 0x04 0x06,我看到这 4 个字节是你正在传输的数据。这可能是因为这不清楚“但在我收到的每个输入之前”你的意思是来自 Pi 的输出吗?输入和接收一词令人困惑。好像少了一个逗号? “但在每次输入之前,我都会收到