imx6 配置串列埠波特率 串列埠非標準波特率除錯

2021-10-13 02:47:33 字數 886 閱讀 3560

首先我用板子是imx6dl的,然後執行的系統是linux,我這裡要除錯出乙個串列埠,波特率在256000,遇到問題是在對應的應用程式標頭檔案裡面並沒有定義這個波特率,現在也不知道該怎麼新增?現在除錯的波特率只能到115200,在它裡面的有的230400都不能除錯成功,不知道是**問題?求大神指導!!!

這個是我用的設定波特率的函式:

#include    

int speed_arr = ;

int name_arr = ;

void set_speed(int fd, int speed)

int   i;

int   status;

struct termios   opt;

tcgetattr(fd, &opt);

for ( i= 0;  i < sizeof(speed_arr) / sizeof(int);  i++)

if (speed == name_arr[i])

tcflush(fd, tcioflush);

cfsetispeed(&opt, speed_arr[i]);

cfsetospeed(&opt, speed_arr[i]);

//    cfsetispeed(&opt,0x0010003);

//    cfsetospeed(&opt, 0x0010003);

status = tcsetattr(fd, tcsanow, &opt);

if (status != 0)

perror("tcsetattr fd1");

return;

tcflush(fd,tcioflush);

這個可以除錯出115200以及以下的波特率,但是不知道什麼原因以上波特率不能除錯出,求大神指點一下,謝謝!!!

imx6 配置串列埠波特率 PLC串列埠通訊除錯過程

串列埠通訊是一種簡單的通訊方式,通過連線少量線纜即可完成資料通訊。做串列埠通訊除錯,一般需要進行如下幾個過程 1 確認上位機通訊 2 確認下位機通訊 3 上 下位機聯調通訊。上位機是指plc,下位機是指進行串列埠通訊除錯的器件 硬體 usb rs232串列埠電纜 plc 膝上型電腦 若電腦自帶串列埠...

串列埠 波特率概念

波特率 系統中單位時間內傳輸的碼元 脈衝 個數。碼元 和進製有關,對於m進製碼元,位元率 資訊速率 rb與波特率 碼元速率 rb的關係式為 rb rb lbm。式中 lbm log2m,表示m的以2為底的對數。顯然,對於二進位制碼元,由於lb2 1,所以rb rb,即波特率與位元率在數 值上相等,但...

串列埠波特率等概念

1 位元率 9600bps 就是每秒中傳輸9600bit,也就是相當於每一秒中劃分成了9600等份。如此,那麼每1bit的時間就是1 9600秒 104.16666666666666666666666666667us。約0.1ms。既然是9600等份,即每1bit緊接著下乙個位元,不存在額外的間隔。...