d196.bmp.txt

来自「Visual C++通信编程工程实例精解(附盘)」· 文本 代码 · 共 39 行

TXT
39
字号
if(m_bSemiduplex)
 dcb.fRtsControl=RTS_CONTROL_TOGGLE ;//半双I
else dcb.fRtsControl=RTS_CONTROL_ENABLE;//用来控制 modem
SetupComm(m_hFileHandle,2048,2048);//setup comm buffer size
Purge(PURGE_ALL);
fSuccess = SetCommState(m_hFileHandle, &dcb);
if (!fSuccess)
 {
        TRACE(_TEXr("SetCommState failed with error%d.\n"), GetLastError(》;
       retum FALSE;
return TRUE;
其中,int iBaud表示串口的通信速率。
11)设置要等待的串口事件。具体代码如下:
    BOOL CYsComm::SetEvent(DWORD dwEvent)
    {
    return SetCommMask(m_hFileHandle,dwEvent);
    }
其中,dwEvent表示处理的事件。
12)等待收到某个串口事件。具体代码如下:
196
int CYsComm::WaitEvent(DWORD* pwdEvent,DWORD dwTimeOut)
{
   if(m_hFileHandle==NULL) retum -1;
   DWORD nRet;
   DWORD dwRes;
   DWORD dwOvRes;
    int i;
  //Issue a status event check if one hasn't been issued already.
if (WaitCommEvent(m_hFileHandle,pwdEvent,&m_overlappedEvent》
{
                        // WaitCommEvent retumed immediately.
                     //Deal with status event as appropriate.
DoStateEvent(*pwdEvent);
 nRet=l;
           goto Exit;
i=GetLastError();
//error in WaitCommEvent; abort
if (i!= ERROR_IO  PENDING)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?