串口通信的一个问题?
ReadFile返回值为TRUE,但是读回来的数据大小是0字节,怎么回事?
[解决办法]
确定串口正常吗?ReadFile的调用方式正常吗?建议把这段代码贴出来
[解决办法]
BOOL fReadStat ;
COMSTAT ComStat ;
DWORD dwErrorFlags;
DWORD dwLength;
int i=0;
// only try to read number of bytes in queue
ClearCommError(hcommunication, &dwErrorFlags, &ComStat ) ;
dwLength =nMaxLength;
fReadStat=ReadFile(hcommunication, lpszBlock,
dwLength, &dwLength, NULL) ;
不要搞那么复杂先,等稳定后,再往上加线程处理部分。
先调用函数下面函数试试。
ClearCommError(hcommunication, &dwErrorFlags, &ComStat ) ;
[解决办法]
先用串口调试工具先调试一下驱动有没问题呀。然后再看你的应用层串口读写有没问题。
[解决办法]
恩,ls说的是,应该先借助串口调试工具,监听下看看。
[解决办法]
有wince版本的串口调试助手,网上找一下
[解决办法]
应该是串口配置的事,你看下DCB配置。
dcb.fDtrControl = 1;
dcb.fRtsControl = 1;
把这两个值都改为1或是默认试下