【发布时间】:2017-05-25 15:17:21
【问题描述】:
我在一台计算机上运行以下代码,另一台计算机通过 Eltima Software 的 RS232 DataLogger 读取串行连接。
当我在一台计算机上运行 python 文件时,另一台计算机上只显示几个字符,而不是完整的“hellobob”
我将监控计算机设置为 9600 波特率、8 个数据位、无奇偶校验、一个停止位。
监控电脑只接“他”。我已经使用相同的软件监控了许多其他设备,所以我知道这是有效的。
这是python代码。
import serial
import io
from time import sleep
ser = serial.Serial('/dev/tty.usbserial-A505VSLL')
sio = io.TextIOWrapper(io.BufferedRWPair(ser, ser))
sio.write(unicode("hellobob\n"))
sleep(5)
sio.flush()
ser.close()
谢谢!
【问题讨论】:
-
如果直接调用
ser.write(),而不是在上面堆两层抽象,是不是整个文本都通过了? (我不知道这是否与您的问题有关,但BufferedRWPair的文档明确表示不要为读取器和写入器传递相同的对象。)