Linux下的串口編程:struct termios結構體

來源:互聯網
上載者:User

termios結構體說明

termios結構體中,該結構體一般包括如下的成員:

tcflag_t c_iflag;

tcflag_t c_oflag;

tcflag_t c_cflag;

tcflag_t c_lflag;

cc_t     c_cc[NCCS];

其具體意義如下

c_iflag:輸入模式標誌,控制終端輸入方式,具體參數如下所示。

c_iflag參數表

索引值說明

IGNBRK 忽略BREAK鍵輸入

BRKINT 如果設定了IGNBRK,BREAK鍵的輸入將被忽略,如果設定了BRKINT ,將產生SIGINT中斷

IGNPAR 忽略同位錯誤

PARMRK 標識同位錯誤

INPCK 允許輸入同位

ISTRIP 去除字元的第8個位元

INLCR 將輸入的NL(換行)轉換成CR(斷行符號)

IGNCR 忽略輸入的斷行符號

ICRNL 將輸入的斷行符號轉化成換行(如果IGNCR未設定的情況下)

IUCLC 將輸入的大寫字元轉換成小寫字元(非POSIX)

IXON 允許輸入時對XON/XOFF流進行控制

IXANY 輸入任何字元將重啟停止的輸出

IXOFF 允許輸入時對XON/XOFF流進行控制

IMAXBEL 當輸入隊列滿的時候開始響鈴,Linux在使用該參數而是認為該參數總是已經設定

c_oflag:輸出模式標誌,控制終端輸出方式,具體參數如下所示。

c_oflag參數

索引值說明

OPOST 處理後輸出

OLCUC 將輸入的小寫字元轉換成大寫字元(非POSIX)

ONLCR 將輸入的NL(換行)轉換成CR(斷行符號)及NL(換行)

OCRNL 將輸入的CR(斷行符號)轉換成NL(換行)

ONOCR 第一行不輸出斷行符號符

ONLRET 不輸出斷行符號符

OFILL 發送填充字元以延遲終端輸出

OFDEL 以ASCII碼的DEL作為填充字元,如果未設定該參數,填充字元將是NUL(‘/0’)(非POSIX)

NLDLY 換行輸出延時,可以取NL0(不延遲)或NL1(延遲0.1s)

CRDLY 斷行符號延遲,取值範圍為:CR0、CR1、CR2和 CR3

TABDLY 水平定位字元輸出延遲,取值範圍為:TAB0、TAB1、TAB2和TAB3

BSDLY 空格輸出延遲,可以取BS0或BS1

VTDLY 垂直定位字元輸出延遲,可以取VT0或VT1

FFDLY 換頁延遲,可以取FF0或FF1

c_cflag:控制模式標誌,指定終端硬體控制資訊,具體參數如下所示。

c_oflag參數

索引值說明

CBAUD 傳輸速率(4+1位)(非POSIX)

CBAUDEX 附加傳輸速率(1位)(非POSIX)

CSIZE 字元長度,取值範圍為CS5、CS6、CS7或CS8

CSTOPB 設定兩個停止位

CREAD 使用接收器

PARENB 使用同位

PARODD 對輸入使用同位,對輸出使用偶校正

HUPCL 關閉裝置時掛起

CLOCAL 忽略數據機線路狀態

CRTSCTS 使用RTS/CTS流量控制

c_lflag:本地模式標誌,控制終端編輯功能,具體參數如下所示。

c_lflag參數

索引值說明

ISIG 當輸入INTR、QUIT、SUSP或DSUSP時,產生相應的訊號

ICANON 使用標準輸入模式

XCASE 在ICANON和XCASE同時設定的情況下,終端只使用大寫。如果只設定了XCASE,則輸入字元將被轉換為小寫字元,除非字元使用了逸出字元(非POSIX,且Linux不支援該參數)

ECHO 顯示輸入字元

ECHOE 如果ICANON同時設定,ERASE將刪除輸入的字元,WERASE將刪除輸入的單詞

ECHOK 如果ICANON同時設定,KILL將刪除當前行

ECHONL 如果ICANON同時設定,即使ECHO沒有設定依然顯示分行符號

ECHOPRT 如果ECHO和ICANON同時設定,將刪除列印出的字元(非POSIX)

TOSTOP 向後台輸出發送SIGTTOU訊號

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。