Vc Cncomm类制作的串口软件第一次通信总是无法下发数据问题

vc调用Cncomm类制作的串口软件,首次打开正确的串口后,无法传输数据,用其他串口软件打开串口却可以正常发送数据,而后再用Cncomm类制作的串口软件也可以 传输数据了?原因未知
在线等待

1、用CnComm写的程序发送不正常,但用其他程序打开端口后,再用CnComm写的程序就好了?
分析:
具体原因是配置参数失败。并且该网友没有检查Open()或者SetState()的返回值, 所以没有发现配置参数失败造成的。

比如设置波特率"9600,O,7,1",不小心把配置字符串写成了"9600,7,O,1"。
使用CnComm配置后失败,并没有检查返回值,发送数据就会是乱码,或者不能正确接收。
这时很自然的,你会用其他工具程序打开端口,由于有可视界面,打开参数正确,又能正常发送。
然后你又想用CnComm再打开试试,结果发现又行了。
实际上配置串口失败,会采用上一次正确配置,所以看上去正常了,实际上单独运行就不行了。

首次打开正确的串口后,无法传输数据,你需要分析一下无法传输数据的原因、建议将各个串口的 API 的返回值 和 GetLastError() 的数值一起输出看看是哪一步出现异常。
这个要先分析代码。

打开后,查看一下发送数据的返回值信息等,是不是串口没有ready等

http://www.cppblog.com/llbird/archive/2009/05/15/CnComm.html