UINT WINAPI CbintoarrayDlg::ListenThread(void* pParam)
{
/** 得到本类的指针 */
CbintoarrayDlg *pSerialPort = reinterpret_cast<CbintoarrayDlg*>(pParam);
// 线程循环,轮询方式读取串口数据
while (!pSerialPort->s_bExit)
{
UINT BytesInQue = pSerialPort->GetBytesInCOM();
/** 如果串口输入缓冲区中无数据,则休息一会再查询 */
if (BytesInQue == 0)
{
Sleep(SLEEP_TIME_INTERVAL);
continue;
}
/** 读取输入缓冲区中的数据并输出显示 */
unsigned char cRecved = 0x00;
int count = 0;
//memset(serildatabuf,0,sizeof(serildatabuf));
do
{
cRecved = 0x00;
if (pSerialPort->ReadChar(cRecved) == true)
{
serildatabuf[datacount++] = cRecved;