使用pyseri检查奇偶校验错误

2024-06-01 13:00:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在用python编写一个小实用程序来监视串行线路上的通信。这是用来调试一些通过rs232连接的硬件,因此能够准确地看到线路上发生的事情是非常重要的。如何使用pyserial检查奇偶校验错误?在

具体来说,我想知道是否有一种独立于平台的方法来使用pyserial来查找奇偶校验位的值。我强烈希望不需要termios来执行此操作,因为这在某些windows计算机上使用。在


Tags: 方法实用程序硬件windows计算机错误rs232平台
1条回答
网友
1楼 · 发布于 2024-06-01 13:00:28

我监控着我的Pi上的GPIO4的奇偶校验。在

灵感here

我的解决方案是在第二个字节中输出奇偶校验位并将所有数据写入文件:

import time
import pigpio # http://abyz.me.uk/rpi/pigpio/python.html

RXD=4 # number of GPIO pin

pi = pigpio.pi()

if not pi.connected:
    exit(0)

pigpio.exceptions = False # Ignore error if already set as bit bang read.

handle = pi.file_open("/home/pi/Documents/bit_bang_output.txt",pigpio.FILE_WRITE) #assuming that the file /opt/pigpio/access (yes without extension) contains a line /home/pi/Domcuments/* w

pi.bb_serial_read_open(RXD, 9600,9) # Set baud rate and number of data bits here. Reading 9 data bits will read the parity bit.

pigpio.exceptions = True

stop = time.time() + 5.0 # recording 5.0 seconds

while time.time() < stop:

    (count, data) = pi.bb_serial_read(RXD)
    if count:
        #print(data.hex(),end="")
        pi.file_write(handle, data.hex())

pi.bb_serial_read_close(RXD)

pi.stop()

相关问题 更多 >