RS232与覆盆子pi

时间:2015-01-12 15:44:37

标签: python serial-port raspberry-pi raspbian

我的问题是在raspberry pi和其他硬件之间进行串行通信。建议的硬件连接如手册所示,我必须连接,RX,TX,GND,RS和CS。

但是在树莓派上我们只有RX,TX所以我将RX和TX以及Pi的GNG连接到这个硬件。 我修改了Pi的参数,如链接所示:here

然后我做了一个简单的python程序,初始化通信,并发送数据。 这是代码: import serial,os 端口= serial.Serial( “的/ dev / ttyAMA0”,波特率= 9600) 打印('端口没问题') port.write( '命令') RCV = port.read(10) print rcv

在pi上运行此代码之后,我得到了('端口没问题'),但问题是这个硬件没有正确响应命令,而且它通常给我正常,但是我得到了一些额外的特征(不可读)。 这是编码问题吗?有人可以帮忙解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您需要检查其他硬件上的波特率 或确保收到的信息的长度=打印的信息。

答案 1 :(得分:1)

在串行通信中,有两件需要注意的重要事项:

  • 如果链路是双向的,则两个设备必须使用相同的波特率。
  • 在串行编写数据时,必须在write()之后立即刷新数据。 请参阅here。 在很多情况下,不需要刷新,但是当两个不同的设备必须通信时,它可以解锁通信。

如果效率不高,请尝试使用相同的conf设置其他设备(无流量控制等)