readfile读串口老是直接返回true而且读到字节为0
readfile读串口总是直接返回true而且读到字节为0
------解决方案--------------------
你先确定下位机有没有上传数据,或者你不用下位机,直接把串口的2和3脚短接就行了,上位机发什么就收什么
------解决方案--------------------
循环读试试。
OVERLAPPED m_osRead;
memset(&m_osRead,0,sizeof(OVERLAPPED));
m_osRead.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
COMSTAT ComStat;
DWORD dwErrorFlags;
DWORD dwWantRead = 12;
BOOL bReadStat;
ClearCommError(m_hCom,&dwErrorFlags,&ComStat);
dwWantRead = min(dwWantRead,(DWORD)ComStat.cbInQue);
bReadStat = ReadFile(m_hCom,buf,dwWantRead,dwRealRead,&m_osRead);
if (!bReadStat)
{
if (GetLastError() == ERROR_IO_PENDING)
{
//WaitForSingleObject(m_osRead.hEvent,1000);
GetOverlappedResult(m_hCom,&m_osRead,dwRealRead,TRUE);
}
}
PurgeComm(m_hCom,PURGE_RXABORT|PURGE_RXCLEAR|PURGE_TXABORT|PURGE_TXCLEAR);
return TRUE;
readfile
串口
------解决方案--------------------
你先确定下位机有没有上传数据,或者你不用下位机,直接把串口的2和3脚短接就行了,上位机发什么就收什么
------解决方案--------------------
循环读试试。