串行通訊是利用一條傳輸線以比特爲單位順序傳送。特色是通訊線路簡單,通常電纜就能夠實現串口通訊,適合於長距離且速度較慢的數據通訊。ios
串口是計算機上比較常見的接口,通常爲RS—232—C接口。函數
串口的配置參數通常包括波特率,起始位比特數,數據位比特數,中止位比特數和流控模式。接口
串口的設置主要是設置結構體termios的各成員值。ip
#include <termios.h>
ci
struct termiosinput
{
io
tcflag_t c_iflag; /* input mode flags 輸入模式標誌*/
配置
};終端
termios是在POSIX規範中定義的標準接口,表示終端設備。通信
終端有三種工做方式,爲規範模式(canonical mode),非規範模式(non-canonical mode)和原始模式(raw mode)。經過設置termios的c_iflag中設置ICANNON標誌來定義終端是以規範模式仍是非規範模式,默認是規範模式。
在規範模式下,全部的輸入是基於行進行處理的,非規範模式下,輸入是即時有效的。
在非規範模式下,對c_cc[NCCS]的設置決定了輸入時read()函數的調用方式。區別以下:
c_cc[VMIN]至關於緩衝區,c_cc[VTIME]至關於等待時間,它們有4中組合,分別爲當即讀取,阻塞讀c_cc[VMIN]個數據,只要有數據或等待c_cc[VTIME]個十分之一秒時間和有c_cc[VMIN]個數據或等待c_cc[VTIME]個十分之一秒時間。