python - 笔记本电脑无法接收树莓派通过串口通讯发送的数据
问题描述
我正在尝试将数据从 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)
谁能给我一些我可以寻找的建议。提前感谢您的帮助。
解决方案
在 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 发送的相同数据,它对我有用。所以我希望它可以帮助你如果这个不起作用,我认为你必须确保你正在使用的端口。祝你好运
推荐阅读
- javascript - 如何使用 React 钩子状态从一个组件到另一个组件
- git - 如何合并来自 GitHub 和 GitLab 的两个存储库?
- tcl - 在 tcl/tk 中添加不同颜色的标签文本
- python - 如何在 CNN 模型中找到单个精度以用于研究目的?
- python - 找不到步骤定义 -- pytest-bdd
- google-sheets - 现有自动刷新连接工作表的可见性
- python - 我如何解决这个循环导入?
- node.js - 简单的 https express 导致“此页面无法正常工作”
- reactjs - 安装“sharp”模块出了点问题
- javascript - 如何使用代理合并数组中的相同项目?