首页 > 解决方案 > 笔记本电脑无法接收树莓派通过串口通讯发送的数据

问题描述

我正在尝试将数据从 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)

接收文件

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)

谁能给我一些我可以寻找的建议。提前感谢您的帮助。

标签: pythonraspberry-piserial-portpyserialuart

解决方案


在 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 发送的相同数据,它对我有用。所以我希望它可以帮助你如果这个不起作用,我认为你必须确保你正在使用的端口。祝你好运


推荐阅读