Richard

又一夜!

0
阅读(37748)

现在时刻:公元2004年4月15日凌晨5点50分。

又通宵一个晚上,终于把Comm2完成了。

核心代码说明:

        在主线程的OnOpenPort()函数(打开serialport)中,设置好端口

        参数,然后启动读数据线程:AfxBeginThread(ThreadFunc,this).

         读数据线程函数ThreadFunc如下:

        UINT ThreadFunc(LPVOID pParam)

             {

                     CComm2Dlg* pdlg=(CComm2Dlg*)pParam;

                      DWORD ret;

                       while(!pdlg->m_bClose)

                               {

                                   COMSTAT state;

                                      DWORD errors;

                                   ClearCommError(pdlg->hCom1,&errors,&state);

                                        if(state.cbInQue>0)

                                              {

                                                    char *p=new char[1];

                                                         ReadFile(pdlg->hCom1,p,1,&ret,NULL);

                                                     pdlg->m_Receive=p;

                                                      pdlg->UpdateData(FALSE);

                                                     delete p;

                                               }

                               }

                               return 0;

         }

           提供下载:(release版,绿色不需安装,24K)

            http://202.38.64.10/~cgp/Comm2.exe