串口同步通信阻塞问题

haha0909 2013-05-29 03:08:56
最近在修改一个程序,是串口通信的,现在遇到这样一个问题:运行老版本(没修改前的程序)后,再运行新版本的程序就挂死,必需重启电脑后新版才能正常运行。调试发现 WriteFile(hComm ,&CheckSection, 1, &lrc, NULL ); 这条语句一直等待。貌似老版本占用着COM口未退出,又因为是同步的,所以新版的WriteFile就不能执行,一直等待!请问要怎么使老版本占用的COM退出来呢?
...全文
257 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不懂电脑 2013-06-03
  • 打赏
  • 举报
回复
在老版本退出时关闭串口用closefile就可以了
「已注销」 2013-06-02
  • 打赏
  • 举报
回复
是方法,不是函数。
「已注销」 2013-06-02
  • 打赏
  • 举报
回复
这个很简单,就是每次执行一条命令就关闭串口。关闭串口的时候条用一个函数,用application.DoEvent();这样就不会发生死锁了。
繁华落尽空 2013-05-31
  • 打赏
  • 举报
回复
加一个PCOM的DLL,用DLL中的sio_close(int port);关闭串口,port为串口号

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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