對於波特率的設定通常使用cfsetospeed和cfsetispeed函式來完成。獲取波特率資訊是通過cfgetispeed和 cfgetospeed函式來完成的。
cfsetospeed函式
標頭檔案:
#include
函式原型:
int cfsetospeed(struct termios *termptr, speed_t speed);
引數:struct termios *termptr - 指向termios結構的指標
speed_t speed - 需要設定的輸出波特率
返回值:
如果成功返回0,否則返回-1
cfsetispeed函式
標頭檔案:
#include
函式原型:
int cfsetispeed(struct termios *termptr, speed_t speed);
引數:struct termios *termptr - 指向termios結構的指標
speed_t speed - 需要設定的輸入波特率
返回值:
如果成功返回0,否則返回-1
cfgetospeed函式
標頭檔案:
#include
函式原型:
speed_t cfgetospeed(const struct termios *termptr);
引數:const struct termios - 指向termios結構的指標
返回值:
返回輸出波特率
cfgetispeed函式
標頭檔案:
#include
函式原型:
speed_t cfgetispeed(const struct termios *termptr);
引數:const struct termios *termptr - 指向termios結構的指標
返回值:
返回輸入波特率
波特率常量:
cbaud 掩碼
b0 0波特
b50 50波特
b75 75波特
b110 100波特
b134 134波特
b150 150波特
b200 200波特
b300 300波特
b600 600波特
b1200 1200波特
b1800 1800波特
b2400 2400波特
b9600 9600波特
b19200 19200波特
b38400 38400波特
b57600 57600波特
b115200 115200波特
example:
int uart_open(char *dev_name)
printf("open...\n");
#if set_uart
tcgetattr(fd, &oldtio);
bzero(&newtio, sizeof(newtio));
newtio = oldtio;
cfsetispeed(&newtio, baudrate);
cfsetospeed(&newtio, baudrate);
cfmakeraw(&newtio);
tcflush(fd, tcioflush);
tcsetattr(fd, tcsanow, &newtio);
#else
system("stty sane 115200 raw -echo -crtscts parodd < /dev/tts/0");
#endif
return fd;
485串列埠驅動 485串列埠伺服器功能應用解析
串列埠伺服器提供串列埠轉網路功能,能夠將rs 232 485 422串列埠轉換成tcp ip網路介面,實現rs 232 485 422串列埠與tcp ip網路介面的資料雙向透明傳輸。使得串列埠裝置能夠立即具備tcp ip網路介面功能,連線網路進行資料通訊,極大的擴充套件串列埠裝置的通訊距離。485串...
MAX485串列埠通訊
程式使用了簡單的協議,準確率較高!歡迎高手指教!c51程式設計 include include include hc595 driver.h 55 01 xx yy zz cs 55 01 xx yy zz aa ee 校驗 方向 3個資料 檢驗和 幀尾 define inbuf len 3 資料長...
qt串列埠程式設計
本帖被 xchinux 執行加亮操作 2008 04 22 serial.cpp int main int argc,char argv mainwindow.h ifndef main window h define main window h include class qlabel class...