麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

windows下獲取串口中數(shù)據(jù)的長(zhǎng)度

2019-11-11 04:48:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

windows下可以通過(guò)調(diào)用ClearCommError來(lái)獲取接收的串口數(shù)據(jù)的長(zhǎng)度。

代碼如下:

UINT GetDataSize(){ DWord dwError = 0; COMSTAT comstat; memset(&comstat, 0, sizeof(COMSTAT)); UINT size = 0; if (ClearCommError(m_hCom, &dwError, &comstat)) { size = comstat.cbInQue; } return size;}

但是通過(guò)ClearCommError獲取到的并不一定是正確的數(shù)據(jù)長(zhǎng)度,因?yàn)樵谀阏{(diào)用此函數(shù)時(shí),數(shù)據(jù)不一定接收完成,所以在多次調(diào)用函數(shù)獲得的返回值不變時(shí),才能保證數(shù)據(jù)長(zhǎng)度的真確。

下面修改為阻塞型(有數(shù)據(jù)函數(shù)才會(huì)返回):

UINT GetDataSize(){ DWORD dwError = 0; COMSTAT comstat; memset(&comstat, 0, sizeof(COMSTAT)); UINT size = 0; while (size == 0) { if (ClearCommError(m_hCom, &dwError, &comstat)) { size = comstat.cbInQue; } } Sleep(3); UINT newSize= 0; if (ClearCommError(m_hCom, &dwError, &comstat)) { newSize= comstat.cbInQue; } while (newSize!= size) { size = newSize; Sleep(3); if (ClearCommError(m_hCom, &dwError, &comstat)) { newSize= comstat.cbInQue; } } return newSize;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美视频在线观看一区 | 一级黄色大片在线观看 | 国产日韩免费观看 | 亚洲男人的天堂在线视频 | 永久免费毛片 | 97视频 | 九色免费视频 | 欧美特一级片 | 国产剧情v888av | 欧美成人免费小视频 | 韩国三级日本三级香港三级黄 | 中国女警察一级毛片视频 | 一级毛片在线观看视频 | 久久国产一级 | 亚洲网站在线 | 日本黄色一级视频 | 在线成人亚洲 | 欧美一区二区三区免费不卡 | 精品不卡| 福利免费在线观看 | 日本aⅴ在线 | 国产精品免费一区二区 | a免费视频 | 国产一级免费片 | 精品一区二区三区日本 | 国产日本在线 | 懂色av懂色aⅴ精彩av | 久久精品成人影院 | 色呦呦一区二区三区 | 成人激情视频网 | 午夜视频国产 | 日韩精品久久久久久久九岛 | 成人视屏免费看 | 高清av免费 | 欧美性视频一区二区 | 国产羞羞视频免费在线观看 | 国产va在线观看 | 久久国产精品影视 | 欧美性受xxxx人人本视频 | 中文在线观看www | 久久久久久久高清 |