波特率函式

波特率函式

波特率 (baud rate ) 是一個以往採用的術語,現在它指的是 “位/秒” ( bits per second ) 。雖 然大多數終端設備對輸入和輸出使用統 一波特率,但是只要硬體許可 ,就可以將它們設定為兩個不同值。


#include <termios.h>
speed_t cfgetispeed (const struct termios* termptrl );
speed_t cfgetospeed (const struct termios *termptr) ;
兩個函式的返回值: 波特率值
int cfsetispeed ( struct terrnios *tennptr, speed_t speed ) ;
int cfsetospeed ( struct terrnios *termptr, speed_t speed ) ;
兩個函式的返回值: 若成功則返回0,著出錯則返回-1

兩個cfget 函式的返回值 ,以及兩個cfset 函式的speed 參數都是下列常量之 :B50 、B7 5 、BllO 、B134 、Bl 50 、B2 00 、B3 00 、B6 00 、B12 00 、B180 0 、B2 4 00 、B4 800 、B9 6 00 、Bl9200或B38400 。常量B0表示 “掛斷”。在調用tcsetattr時,如若將輸出波特率指定為 B0 ,則數據機的控制線就不再起作用。
大多數系統定義了 另外的波特率值 ,例如B57600 以及B115200.
使用這些函式時,應當理解輸入 、輸出波特率是存放在圖 18-3所示的設備termios結構中的。 在調用任一cf get函式之前,先要用tcgetattr獲得設備的termios結構。與此類似,在調用任一 cfset 函式後,應將波特率設定到termios結構中。為使這種更改影響到設備 ,應當調用 tcsetattr 函式。如果所設定的波特率有錯 ,則在調用tcsetattr之前,不會發現這種錯誤。這4個波特率函式使應用程式不必考慮 具體實現在 termios結構中表示波特率的不同方法。 BSD派生的平台趨向於存放波特率的數值 (例如9600波特就存放為9600 ) ,同時Linux和系統V 派生的平台趨向於以位禁止方式表示波特率 。從cf get 函式得到的以及向cf set傳送的速度值 與它們存放在termios結構中的一樣。

相關詞條

熱門詞條

聯絡我們