【问题标题】:Serial connection - random byte at every read串行连接 - 每次读取随机字节
【发布时间】: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 的输出吗?输入和接收一词令人困惑。好像少了一个逗号? “但在每次输入之前,我都会收到

标签: serial-port raspberry-pi


【解决方案1】:

问题是奇偶性。您必须将其设置为偶数或奇数。尝试任一设置。

【讨论】:

    猜你喜欢
    • 2023-02-24
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多