SDK串口编程 正常终止 WaitCommEvent
遇到一个问题,如果在一个线程中使用WaitCommEvent来处理RX接受中断的话,如果没有任何事件发生,程序将阻塞在WaitCommEvent一行,以至于无法正常终止线程。
解决方法:要使WaitCommEvent正常终止,需要使用OVERLAPPED模式在创建串口设备的时候(CreateFile)使用重叠IO的方式。
这样WaitCommEvent就会立即返回,再去Wait OVERLAPPED结构的hEvent,同时再创建一个线程终止的Event对象。
使用API,WaitForMultipleObjects来等待这两个时间。即可实现串口数据接受线程的正常退出。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步