📄 d190.bmp.txt
字号:
如读串口、写串口、停止读、停止写等。
4)创建串口文件句柄。其中参数port表示串口的串口号;参数hWnd表示用来接收消
息的窗口句柄。该函数利用API函数CreateFile0创建一个串口句柄m__hFileHandle。
5)关闭串口句柄。利用函数CloseHandle()关闭串口句柄m__hFileHandle。
6)在超时时间内从串口读指定个数的字符。具体代码如下:
190
int CYsComm::ReadIn(PBYTE lpszInputBuffer,
DWORD dwCountoByte,
DWORD dwReadTimeOut)
{
if( m_hFrleHandle—NULL) //m hFileHandle是串口句柄,如果为空,表明该串口没有打开
{
return -1;
l
int nRet;
DWORD dwLastError;
DWORD dwHandleSignaled;
HANDLE HandlesToWaitFor[21;
int iWait=2;
HandlesToWaitFor[01 = m_overlappedRead.hEvent;
HandlesToWaitFor[l] = m_hStopReadEvent;
DWORD dwHaveReaded=0;
if (ReadFile《HANDLE)m_hFileHandle, (LPVOID)lpszInputBuffer, (DWORD)dwCountoByte,
(LPDWORD)&dwHaveReaded, (LPOVERLAPPED)&m_overlappedRead》
f,,只有当数据等待读时才发生
nRet=l;
goto Exit;
}
dwLastError= GetLastError();
if (GetLastError()!= ERROR_IO_PENDING)
{
nRet=-l;,,{卖取串口错误
goto Exit;
)
dwHandleSignaled = WaitForMultipleObjects(iWait,HandlesToWaitFor,
FALSE,dwReadTimeOut):
switch(dwHandleSignaled)
{
case WAIT_OBJECT_O :,/等待结束
{
//Time to get the results of the WriteFile
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -