笔记本电脑无法通过串行通信接收Raspberry Pi发送的数据

时间:2019-03-26 18:32:36

标签: python raspberry-pi serial-port pyserial uart

我正在尝试将Raspberry Pi中的数据发送到笔记本电脑(UART),但无法在笔记本电脑中接收。

我在pi(TX)上得到以下输出:

Serial status: True
4
4
4
4
...

另一方面,我只能在笔记本电脑(RX)上获得此输出:

Serial status: True

到目前为止,这是我的代码:

TX.py

import os
import time
import serial

ser = serial.Serial(
    port = '/dev/ttys0',
    baudrate = 9600,
    parity = serial.PARITY_NONE,
    stopbits = serial.STOPBITS_ONE,
    bytesize = serial.EIGHTBITS
)

print("Serial status: " + str(ser.isOpen()))

while True:
    data = ser.write("help".encode())
    print(data)
    time.sleep(1)

RX.py

import os
import time
import serial

ser = serial.Serial(
    port = '/dev/cu.usbserial-14320',
    baudrate = 9600,
    parity = serial.PARITY_NONE,
    stopbits = serial.STOPBITS_ONE,
    bytesize = serial.EIGHTBITS
)

print("Serial status: " + str(ser.isOpen()))

while True:
    data = ser.readline()
    print(data.decode())
    time.sleep(1)

有人可以给我一些建议吗?预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在TX.py中尝试

if (ser.isOpen):
    while True:
        ser.write("help")
        time.sleep(1)

在RX.py中尝试一下

if (ser.isOpen):
    while True:
        data=ser.read(size) # here you have to specify the size of your data, 8 for example 

我在树莓派上连接了RX和TX,因此我可以读取RPi发送的相同数据,并且对我有用。所以我希望它能为您提供帮助 如果此端口不起作用,我认为您必须确保正在使用的端口。 祝你好运