讀寫串列埠的實現(一)

2021-06-27 17:23:49 字數 957 閱讀 2742

windows開啟串列埠,讀寫串列埠,自動識別串列埠

該串列埠讀寫是採用非同步方式,即非阻塞模式進行讀寫串列埠

串列埠名形如: "com3", "com4", "com22"等

其中com1至com9能成功開啟,但是com10及以上開啟都是失敗的,需要特殊處理

及com10以上的開啟方式是:「\\\\.\\com10」, "\\\\.\\com11", "\\\\.\\com22"等,這是com10即以上的串列埠名開啟方式

開啟串列埠:

//open the uart

bool openuartport(char *uartportname)

else

else

}return bresult;

}

初始化串列埠:

//init uart

bool inituartport(handle hcomm, dword baudrate, byte bytesize, byte parity, byte stopbits)

else

else

else

else

else}}

} }return bresult;

}

讀串列埠

if(hcomm != invalid_handle_value)

else}}

} }else

*rcveddatalen = dwtemprcveddatalen;

return bresult;

}寫串列埠

if(hcomm != invalid_handle_value)

else}}

} }else

*sentdatalen = dwtempsnddatalen;

return bresult;

}

串列埠讀寫操作

例如,以下程式用於以同步讀寫方式開啟串列埠com1 handle hcom dword dwerror hcon createfile com1 generic read generic write,0,null,open existing,0,null if hcom handle 0xfffff...

C語言中的串列埠讀寫功能實現

在未接觸過串列埠前總覺得難以下手,但是實際嘗試後會發現其實並不難。本文使用 配置串列埠引數和讀寫操作,未新增已封裝號模組,這樣靈活性會更高。首先是開啟串列埠進行各種配置 hcom createfile portname,generic read generic write,0,null,open e...

cc2541實現全雙工串列埠讀寫

2541的osal封裝已經封裝好了串列埠的讀寫,為何要自己實現一次呢?這裡最重要的原因是因為預設實現的串列埠讀寫程式會對低功耗功能有影響,以及預設串列埠程式在進入低功耗的時候會去控制rx,tx,ct,rt腳,而很多時候我們實際只用了rx,tx腳,另外兩個腳被用於其他外設,所以為了增加控制,不得不自己...