原创 请大家帮忙解决MScomm32控件接收假死的问题

2008-9-28 15:01 4512 8 8 分类: 软件与OS

这一段时间做基于MScomm32控件的串口调试助手的时候,发现一个问题。


MScomm32控件在字符接收状态下,接收到单个大于0x80,小于0xFF的十六进制数时,程序会出现假死现象。假死时控件应该是在等待接收下一个数据。如果是接收到偶数个数据,就不存在这个问题。


例如接收到一个16进制数F5时,这个程序会死15秒。一次接收到偶数个F5时,不会死。


但是,发送接收难免出现错误。一旦出现错误,接收到了单个数据,那么基于MScomm32控件的程序就会假死一下。而且长达15秒。这个问题真不知怎么彻底解决。


我现在的做法是设置接收方式改为二进制接收。这样虽然不会出现假死。但是运行效率明显受到了影响。


希望那位高手帮忙解决一下这个问题。到底是我设置有问题,还是MScomm32控件只能这样了。


下面是我做的一个测试程序:


https://static.assets-stash.eet-china.com/album/old-resources/2008/9/28/8c68963f-136b-4890-a3d4-418c5ea4adc6.rar



MScomm32控件下载:


VB控件:mscomm32.ocx下载(带注册程序)

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条