循环读取串口,如何暂停和恢复?

flywolf88 2010-03-29 04:46:45
串口是独占资源,一个程序中可能有多处会使用到串口,假设一个主线程循环读取和发送串口数据,用户根据需要通过界面发送串口指令或读取数据,当用户操作时,串口主线程暂停,让出串口资源,待用户线程完成后,再继续循环,这样的情况用什么方式控制好呢?
...全文
230 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flywolf88 2010-04-16
  • 打赏
  • 举报
回复
问题已解决,采用标志位+延时的办法。
leafold 2010-03-29
  • 打赏
  • 举报
回复
可以连多个设备,这没问题。
应该单个线程操作串口读写,在这个线程中维护一个待发送数据的队列就可以了。
flywolf88 2010-03-29
  • 打赏
  • 举报
回复
再顶,SOS!!!!!
flywolf88 2010-03-29
  • 打赏
  • 举报
回复
485总线的方式可以连多个设备,而且就是一个设备的时候,也存在这样的问题,例如:一个线程不断循环读取设备的状态,而用户某些时候要对设备的参数进行设置。
yilaozhuang 2010-03-29
  • 打赏
  • 举报
回复
一个串口就接一根232的线,你怎么连多个设备呢?
flywolf88 2010-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 flyerwing 的回复:]
还挺复杂,那为什么不多个线程用一个呢。
何必没次都重新能呢。
[/Quote]

如果所有对串口的操作都写在一个方法中,会让这个方法的逻辑非常复杂,而且不利于程序的扩展
flyerwing 2010-03-29
  • 打赏
  • 举报
回复
还挺复杂,那为什么不多个线程用一个呢。
何必没次都重新能呢。
flywolf88 2010-03-29
  • 打赏
  • 举报
回复
自顶,在线等

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧