首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pySerial中发送和读取ASCII值

在pySerial中发送和读取ASCII值
EN

Stack Overflow用户
提问于 2013-01-24 07:04:52
回答 2查看 12.8K关注 0票数 0

我正在尝试与一个使用python和pySerial以ASCII格式进行通信的scale进行通信。我没有使用ASCII格式的经验。所以我有一些基本的问题。我如何发送一个字符T,例如使用pySerial,并使用ASCII码格式的CRLF终止它?我试过了

代码语言:javascript
复制
 myserialport.write('TCRLF')
 myserialport.write('T\r\n')
 myserialport.write('T\n\r')

我也在尝试从刻度中读取数据,例如,我期望的是'208.01克‘的形式。但是当我使用

代码语言:javascript
复制
myserialport.read(10)

代码语言:javascript
复制
myserialport.readline(10)

这是我从天平上得到的

代码语言:javascript
复制
]ëýýÿ]W
ÿ]u_u]ÿ]uÕ
ýWýWë]uÝõW
ÿ½õÿ½WW]Ýý
WýW]Wÿ½ÿ×ë

从googling上看,默认情况下pySerial应该接收ASCII码格式的数据,并将其作为well...but发送。我迷失了为什么它不能工作。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2013-01-24 07:45:48

这是将带有CRLF的字符发送到串行端口的正确方式:

代码语言:javascript
复制
myserialport.write('T\r\n')

关于杂乱的响应-确保您正确设置了波特率、数据位数、停止位和奇偶校验位。您可以在标尺的数据表中找到所需的值。

例如:

代码语言:javascript
复制
from serial import Serial, SEVENBITS, STOPBITS_ONE, PARITY_EVEN
myserialport = Serial('/dev/ttyS0', baudrate=9600, bytesize=SEVENBITS, parity=PARITY_EVEN, stopbits=STOPBITS_ONE)
票数 1
EN

Stack Overflow用户

发布于 2013-02-06 06:16:03

问题是USB到串行转换器上的接地连接(针脚7需要接地)。如果你有同样的问题,检查你的引脚。(费雪科学天平使用针脚7作为接地,这是不正常的,因为针脚5是ground...odd...)谢谢大家。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14491061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档