gpt4 book ai didi

python - pyserial 没有输出

转载 作者:行者123 更新时间:2023-12-01 04:03:41 25 4
gpt4 key购买 nike

我正在尝试编写一个 pyserial (v2.6) 代码,该代码应该无限期地等待来自使用 inWaiting() 指定的端口的任何输入,然后使用 read() 读取它 但没有运气,根本没有输出。我究竟做错了什么?该程序根本不打印任何内容!

编辑:程序和端口都运行在Contiki OS的虚拟机上

Edit2:z1 mote 是连接到端口的设备。我发现 pyserial 用于写入它(我无法将 pyserial 升级到最新版本,因为它无法与 z1 motes 一起使用)

完整代码:

import pyserial
baudrate = 115200
port = '/dev/ttyUSB0'
ser = serial.Serial(port,baudrate)

while 1:
time.sleep(1)
coming_data = ser.inWaiting()
if coming_data != 0:
data = ser.read(coming_data)
print data

# the output from the port is (which should be the output of this program)
# abcd::abcd:0:0:c9 2293 6 -3 243 -23 108
# abcd::abcd:0:0:c9 2337 8 -4 242 -27 108

最佳答案

请尝试这个:

import serial
import sys
from time import sleep

try:
ser = serial.Serial("/dev/ttyUSB0", 115200,timeout=0, parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
except:
sys.exit("Error connecting device")

while True:
queue = ser.inWaiting()
if queue > 0:
data = ser.read(1000)
print data
sleep(0.2)

该问题可能与未按预期为 Zolertia Z1 节点配置所有 UART 设置有关。

更新:请确保与端口的连接未被其他进程使用。因为如果它在其他地方打印,那么它将无法通过python脚本读取数据。

关于python - pyserial 没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36051868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com