Linux串列埠引數設定

2021-09-30 05:11:37 字數 1958 閱讀 4080

在linux中man串列埠有關的資訊,在以下鏈結中

termios,  tcgetattr,  tcsetattr,  tcsendbreak,  tcdrain,  tcflush,  tcflow,  cfmakeraw,  cfgetospeed,cfgetispeed, cfsetispeed, cfsetospeed, cfsetspeed - 這些函式都是獲取或者設定串列埠屬性,控制線,獲取和設定波特率

#include

#include

int tcgetattr(int fd, struct termios *termios_p);

int tcsetattr(int fd, int optional_actions, const struct termios *termios_p);

int tcsendbreak(int fd, int duration);

int tcdrain(int fd);

int tcflush(int fd, int queue_selector);

int tcflow(int fd, int action);

void cfmakeraw(struct termios *termios_p);

speed_t cfgetispeed(const struct termios *termios_p);

speed_t cfgetospeed(const struct termios *termios_p);

int cfsetispeed(struct termios *termios_p, speed_t speed);

int cfsetospeed(struct termios *termios_p, speed_t speed);

描述:在termios函式描述了乙個通用終端介面,提供給控制非同步通訊埠。在這裡描述的許多功能有termios_p論點是對乙個termios指標結構件,真實存在。這個結構至少包含以下成員:

tcflag_t c_iflag;      /* input modes */

tcflag_t c_oflag;      /* output modes */

tcflag_t c_cflag;      /* control modes */

tcflag_t c_lflag;      /* local modes */

cc_t     c_cc[nccs];   /* control chars */

每個flag下面都有一大堆東西,不再贅述。

函式說明:

tcgetattr - 獲取終端相關引數

#include

int tcgetattr(int fildes, struct termios * termios_p );

tcgetattr( )函式把獲得檔案控制代碼所表示的檔案的終端引數,然後將獲得的資訊儲存在struct termios * termios_p定義的變數中

termios_p是乙個指向termios結構體的指標

成功返回0,失敗返回-1

cfsetispeed - 設定輸入波特率函式

cfsetospeed - 設定輸出波特率函式

cfsetispeed(&newtio,b115200);

cfsetospeed(&newtio,b115200);

一般地使用者需要將輸入輸出函式的波特率設定成一樣的。這幾個函式在成功時返回0,失敗-1。

tcsetattr - 設定終端相關引數

函式原型:tcsetattr(fd,option,&newtio);

這裡的newtio就是termios型別的變數,option可能的取值如下:

tcsanow:改變的配置立即生效

tcsadrain:改變的配置在所有寫入fd的輸出都結束後生效

tcsaflush:改變的配置自愛所有寫入fd引用物件的輸出都被結束後生效,所有已接受但為讀入的輸入都在改變發生前丟棄。

該函式呼叫成功返回0,失敗-1.

linux下串列埠通訊引數設定

6.7.2 設定串列埠通訊引數 串列埠通訊引數指的是波特率 資料位 奇偶校驗位和停止位。對串列埠實現控制的時候同樣要用到termio結構體。下面將結合具體的 說明如何設定這些引數。1 波特率設定 獲得埠波特率資訊是通過cfgetispeed函式和cfgetospeed函式來實現的。cfgetispe...

linux 串列埠阻塞與非阻塞引數設定

在串列埠設定中,有以下兩個引數可以決定是否阻塞。在開啟串列埠時不加o nodelay,可用下面的第二種方法,來進行阻塞 非阻塞的設定 c cc vtime 非規範模式讀取時的超時時間 單位 百毫秒 可以這麼理解,從接收到後乙個位元組開始計時,如果超時,則退出read c cc vmin 非規範模式讀...

引數設定 pandas引數設定小技巧

python大資料分析記錄 分享 成長 在日常使用pandas的過程中,由於我們所分析的資料表規模 格式上的差異,使得同樣的函式或方法作用在不同資料上的效果存在差異。而pandas有著自己的一套 引數設定系統 可以幫助我們在遇到不同的資料時靈活調節從而達到最好的效果,本文就將介紹pandas中常用的...