【发布时间】:2013-01-07 14:26:59
【问题描述】:
我正在尝试与使用 python 和 pySerial 以 ASCII 格式进行通信的秤进行通信。我从来没有使用过 ASCII 格式的经验。所以我有基本的问题。 例如,我将如何使用 pySerial 发送一个字符 T 并使用 ASCII 格式使用 CRLF 终止它? 我试过了
myserialport.write('TCRLF')
myserialport.write('T\r\n')
myserialport.write('T\n\r')
我还尝试从我希望以“208.01 g”的形式读取的数据。但是当我使用
myserialport.read(10)
或
myserialport.readline(10)
我从秤上得到这个
]ëýýÿ]W
ÿ]u_u]ÿ]uÕ
ýWýWë]uÝõW
ÿ½õÿ½WW]Ýý
WýW]Wÿ½ÿ×ë
从谷歌搜索看来,pySerial 默认情况下应该接收 ASCII 格式的数据,并发送它......但我不知道它为什么不工作。任何帮助将不胜感激。
【问题讨论】:
-
很可能是你的速度(波特率)不对
-
scale 和 pySerial 都设置为 9600。我一开始也是这个问题,所以我尝试了 2400 但没有运气
-
检查它是否可以从超级项运行,并且您的速度/位/停止/奇偶校验设置正确
-
有一条新电缆。现在我可以通过超级终端发送和读取秤上的数据。但pyserial没有运气。我尝试使用这个命令 myserialport.write('T\r\n') 发送它,但没有得到规模的响应。有什么想法吗?