ITPub博客

首页 > 应用开发 > IT综合 > API串口编程

API串口编程

原创 IT综合 作者:欧巴萨拉黑 时间:2014-03-14 17:15:54 0 删除 编辑
DWORD WINAPI SerialPort1ThreadProcess(HWND hWnd)
{
 CRS485Dlg obj;
 BYTE str[101];
 DWORD wCount;
 
 DWORD dwEvtMask=0;
 SetCommMask(m_hSerial,EV_RXCHAR|EV_TXEMPTY);
 WaitCommEvent(m_hSerial,&dwEvtMask,&m_osWrite);
    
 while(1)
 {
 if ((dwEvtMask & EV_RXCHAR)==EV_RXCHAR)
 {
 COMSTAT ComStat;
    int dwLength;
    DWORD Erro;
    ClearCommError(m_hSerial,&Erro,&ComStat);
    dwLength = ComStat.cbInQue;
    if (dwLength>0)
 {
 ReadFile(m_hSerial,str,dwLength,&wCount,&m_osWrite);
 if(wCount>0)
 {
 ::PostMessage(hWnd,COM_RECVDATA,0,0);
 for (int i = 0;i < dwLength;i++)
 {
 obj.savedata[i++] = str[i++];
 }
 }
 }
 }
 }
 return TRUE;
 
}
为什么我的读串口线程在运行到While(1)进去之后就进不去if(),或者说为什么读不到串口数据?哪位大神帮忙指点指点。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29541231/viewspace-1120781/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-03-14

  • 博文量
    1
  • 访问量
    2353