【Leo的筆記】C++封裝termios.h實(shí)現(xiàn)串口通訊
2023-05-12 10:01 作者:神棍技術(shù)宅Leo | 我要投稿

Termios作為POSIX標(biāo)準(zhǔn)的一部分,定義了對(duì)于終端操作的相關(guān)接口,其中串行端口作為其組成的一部分,其相關(guān)操作也被封裝在該文件中。在嵌入式開發(fā)中,往往需要使用串行端口進(jìn)行上位機(jī)與下位機(jī)之間的通訊,而現(xiàn)代開發(fā)中,諸如Python,提供了十分方便的用以調(diào)用串行端口的封裝接口與類庫(kù)。即使是C/C++的上位機(jī)開發(fā),也往往結(jié)合諸如Qt等圖形庫(kù),而這類圖形庫(kù)往往提供了串口操作的封裝。而當(dāng)我們想要在諸如Linux中開發(fā)小體量的控制臺(tái)程序,或者有和我一樣的潔癖,或者精簡(jiǎn)主義者。那調(diào)用POSIX的標(biāo)準(zhǔn)接口用以實(shí)現(xiàn)串行端口通訊是不需要安裝額外依賴的好方法。但是,調(diào)用原生接口需要一定的學(xué)習(xí)成本(畢竟它們提供的宏與接口函數(shù)的命名等并不是很直觀?。K?,自己封裝一個(gè)相關(guān)的類庫(kù)是必要的。
所以嘛,就用C++封裝了一個(gè)Serial類。提供了用以打開串口,關(guān)閉串口,讀寫串口,配置端口的接口方法。命名應(yīng)該挺直觀的,不過(guò)一些串口相關(guān)的基本概念還是得知道的吧。
文件列表
serial.hpp
serial.cpp
默認(rèn)無(wú)超時(shí)處理,會(huì)一直阻塞等待,相關(guān)操作后續(xù)跟進(jìn)。
標(biāo)簽: