Skip to content

踩坑Robotics Stack Exchange2019-11-27

pyserial 如何同时读写串口数据? ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:how to read and write data with pyserial at same time(Robotics Stack Exchange #11897)

状态:已解决

问题 ​

提问者只能用 pyserial 单独写或读,想在同一程序中同时读写 Arduino 串口;示例中写入后关闭串口、再打开并 readline()。

环境 ​

嵌入式控制器 / 串口通信

解决办法 ​

  1. 不要在写入后关闭再重新打开串口。
  2. 若设备可随时写入且可随时接收数据,使用多线程分别处理读和写。
  3. 若不用多线程,在单线程循环中先检查是否有数据要写,有则写入;再检查读端是否有可用字节,或给读取设置短超时,避免读取长期阻塞。
  4. 循环中如无事可做可短暂 sleep,避免 CPU 占用 100%;同时确保硬件读缓冲足够容纳待读取的数据。

原问题作者:user14148;采纳答案作者:kaliatech。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。

来源

本页事实对应的公开页面,以原文为准。

  1. Robotics Stack Exchange #11897:how to read and write data with pyserial at same time访问 2026-10-22