串列埠程式設計485

2022-02-03 20:31:35 字數 1826 閱讀 2565

對於波特率的設定通常使用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...