python - PySerial - 无法发送 STX

标签 python pyserial

好吧,我对 pySerial 完全是菜鸟。我正在尝试与一台实验室设备通信,但在发送 STX(文本开始)命令时遇到问题。到目前为止,我的基本代码如下所示:

ser = serial.Serial(0, 19200, timeout=1,parity=serial.PARITY_ODD, rtscts=0)
ser.write(0x02) #ASCII STX is 0x2 in hex

但是当我查看示波器上的 232 数据时,我尝试发送的 STX 看起来与 Hperterminal 中发送的 STX 命令完全不同。

有什么想法吗?我确信这非常简单,我只是忽略了一些微不足道的事情。

谢谢!

最佳答案

Serial 类中的 write 函数接受字节或字符串。您正在传递一个整数,因此结果未知,可能会将其转换为 str,以便您发送字符“2”。

正确的做法是:

ser = serial.Serial(0, 19200, timeout=1,parity=serial.PARITY_ODD, rtscts=0)
ser.write(chr(0x02)) #ASCII STX is 0x2 in hex

关于python - PySerial - 无法发送 STX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449261/

相关文章:

python - 如何在 ubuntu linux 8.04 上将 python 2.5.2 升级到 python 2.6rc2?

python - 对 pandas/matplotlib 条形图中的条形顺序进行排序

python - 如何将值从 Arduino 发送到 Python,然后使用该值

python - 在 Mac 上使用 macports python (python27) 安装 pyserial 时遇到问题

python - 使用 pyserial 识别给定 USB VID 和 PID 的 USB 转串口

python - Windows Server 2012 上的 Flask、wfastcgi 和 IIS

Python Mock_requests : Can I use wildcards in the url parameter of the Mocker? 与pytest一起使用时如何实现url的模式匹配?

python - 如何在Python中验证散列(sha1)密码?

python - python中写入和监听同一个串口