用MSCCOMM控件时可用GetInBufferCount()函数获取串口缓冲区中有多少个字节
但是在WINCE中用什么函数
------解决方案--------------------
我上面那个写错了,本来我想写的是ClearCommError,结果写成了GetCommState -_-!
用ComStat.cbInQue 可以获得。
还有一个方法,如果你驱动实现了的话
SERIAL_DEV_STATUS SerialDevStat ;
memset(&SerialDevStat, 0, sizeof(SERIAL_DEV_STATUS)) ;
if (!DeviceIoControl(hComPort, IOCTL_SERIAL_GET_COMMSTATUS, NULL, 0,
&SerialDevStat, sizeof(SERIAL_DEV_STATUS), &dwBytesNb, NULL) )
// error => nothing to read
return ;
if (SerialDevStat.ComStat.cbInQue <= 0)
return ;