linux串列埠程式設計

2021-09-12 08:47:36 字數 937 閱讀 4987

什麼叫做串列埠通訊:串列埠通訊是指一次只傳送乙個資料位。雖然在通訊的時候串列埠有 8 位或者 9 位等,但是在物理層面傳輸的時候,它仍然是以單個 bit 的方式傳輸的。

什麼是串列埠:串列埠一般特指 rs232 標準的介面。雖然乙太網以及 usb 等等也是以序列的方式傳送資料,但不是串列埠。

什麼是rs232:rs-232 是 eia(electronic industries association)定義的序列通訊的電器介面。最被廣泛使用的是rs-232c,它將 mark(on)位元的電壓定義為-3v 到-12v 之間,而將 space(off)的電壓定義到+3v 到+12v 之間。

rs232 有兩種標準定義,25 針和 8 針的。不過即使是 8 針,在大多數場合工程師也覺得太多了,絕大多數情況下都是只使用 tx,rx 針腳傳送和接收訊號,再加上乙個 gnd

地腳。

開啟串列埠,一般使用 open 函式,開啟之後會返回控制代碼,這個控制代碼就可以提供給傳送和接收函式使用。串列埠本質上也是字元裝置,但是串列埠是屬於一種比較特殊的字元裝置。

初始化串列埠,串列埠需要配置波特率,資料位,校驗位等等一系列的引數,初始化的過程掌握了,傳送和接收都比較容易實現。雖然初始化比較麻煩,但是無論是在 window 下還是在 linux下,串列埠的初始化都是很容易找到例程的。個人建議只要能夠讀懂**,根據實際需求進行驗證和配置即可。

傳送和接收資料,前面提到過串列埠是屬於字元裝置的,可以使用 read 函式和 write 函式實現。

關閉,使用函式 close 即可關閉串列埠。

linux串列埠程式設計

include 標準輸入輸出定義 include 標準函式庫定義 include unix標準函式定義 include include include 檔案控制定義 include ppsix終端控制定義 include 錯誤號定義 brief 設定串列埠通訊速率 param fd 型別 int 開...

Linux串列埠程式設計

串列埠概述 常見資料通訊方式 並行通訊,序列通訊 uart的主要操作 資料傳送及接受 產生中斷 產生波特率 loopback模式 紅外模式 自動流控模式 串列埠引數的配置主要包括 波特率 資料位 停止位 流控協議。linux中的串列埠裝置檔案放於 de 目錄下,串列埠一,串列埠二分別為 dev tt...

Linux串列埠程式設計

串列埠概述 常見資料通訊方式 並行通訊,序列通訊 uart的主要操作 資料傳送及接受 產生中斷 產生波特率 loopback模式 紅外模式 自動流控模式 串列埠引數的配置主要包括 波特率 資料位 停止位 流控協議。linux中的串列埠裝置檔案放於 de 目錄下,串列埠一,串列埠二分別為 dev tt...