PySerial:如何在串行线上发送Ctrl-C命令

19

我正在为嵌入式板卡自动化配置过程。要进入设置屏幕,我需要发送“Ctrl-C”命令。

不是为了中断我本地运行的进程,KeyboardInterrupt无法工作。我需要发送一个值, bootloader将解释为Ctrl-C。

我需要发送什么值?

谢谢

4个回答

28

据我所知, Ctrl-C 是 etx。 因此发送 \x03


4
另请参阅维基百科上关于ASCII和ETX的页面。 - John Bartholomew

10

您应该发送ASCII码为3的字符:

serial.write('\x03')

5
\x03

“结束文本”或“中断”是由Ctrl+C发送的意思。

1
有任何想法如何在Python3脚本中使用它吗? - JinSnow

4

Python不会将ASCII码作为字符串处理,需要将其编码为字节。因此,在代码前面添加b即可。

serial.write(b'\x03')

我在这里使用过并保存了我的生命,已经多次挽救了生命。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接