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 + -
显示快捷键?