QQ登录

只需一步,快速开始

上位机MFC多线程串口通讯源代码

[ 复制链接 ]

上位机MFC多线程串口通讯源代码

上位机MFC多线程串口通讯源代码

例程界面如上,
可以对串口参数设置后打开串口,
进行数据的收发。
关键代码可以参考CCMSCOM集成类的线程函数:

  1. // -----------工作者线程,负责监视串行口---------------
  2.       
  3. UINT CommProc(LPVOID pParam)//222
  4. {
  5.         OVERLAPPED os;
  6.         DWORD dwMask, dwTrans;
  7.         COMSTAT ComStat;
  8.         DWORD dwErrorFlags;
  9.        
  10.         CCMscom *pDoc=(CCMscom*)pParam;
  11.        
  12.         memset(&os, 0, sizeof(OVERLAPPED));
  13.         os.hEvent=CreateEvent(NULL, TRUE, FALSE, NULL);
  14.        
  15.         if(os.hEvent==NULL)
  16.         {
  17.                 AfxMessageBox("Can't create event object!");
  18.                 return (UINT)-1;
  19.         }
  20.        
  21.         while(pDoc->m_bConnected)
  22.         {
  23.                 ClearCommError(pDoc->m_hCom,&dwErrorFlags,&ComStat);
  24.                
  25.                 if(ComStat.cbInQue)
  26.                 {
  27.                         // 无限等待WM_COMMNOTIFY消息被处理完
  28.                         WaitForSingleObject(pDoc->m_hPostMsgEvent, INFINITE);
  29.                         ResetEvent(pDoc->m_hPostMsgEvent);
  30.                        
  31.                         // 通知视图
  32.                 //        PostMessage(pDoc->m_hTermWnd, WM_COMMNOTIFY, EV_RXCHAR, 0);
  33.                        
  34.                         continue;
  35.                 }
  36.                
  37.                 dwMask=0;
  38.                
  39.                 if(!WaitCommEvent(pDoc->m_hCom, &dwMask, &os)) // 重叠操作
  40.                 {
  41.                        
  42.                         if(GetLastError()==ERROR_IO_PENDING)
  43.                         {        // ---------------------------------无限等待重叠操作结果
  44.                                 GetOverlappedResult(pDoc->m_hCom, &os, &dwTrans, TRUE);
  45.                              
  46.                         }
  47.                         else
  48.                         {
  49.                                 CloseHandle(os.hEvent);
  50.                                 return (UINT)-1;
  51.                         }
  52.                
  53.                 }
  54.                 AfxMessageBox("122");
  55.         }
  56.        
  57.         CloseHandle(os.hEvent);
  58.         return 0;
  59. }
复制代码
源代码下载地址:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC多线程串口通讯源代码.rar 
文件大小:39.03 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索