关于wince串口接收数据异常

在做wince上的一个串口调试助手,在做接收数据这一块时发觉,每次可以接受到数据,但总是最开头的两个个字节有异常,会出现些奇怪的符号。

debug之,发现每次程序判断有多少数据到来时,第一次总是判断只有一个数据到来,其实我发送了好多数据了。

我判断缓冲区有多少数据的函数用的是:

ClearCommError(ceSeries->m_hComm, &dwReadErrors, &cmState);

根据结构体cmState中的cbInQue来判断。

例如我发送“111”则第一次cbInQue为1,之后为2

3个1分为两次来发送。

后来我的解决方法是手动指定一个接收缓冲区的大小,比如256或者512.

然后再ReadFile();函数中填入此长度,这样就可以可靠的读入数据了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值