Linux下UART串列埠的測試小程式

2021-07-27 23:24:52 字數 2264 閱讀 1620

#include 

#include

#include

#include

#include

#define baudrate b115200

#define uart_device "/dev/ttys3"

#define false -1

#define true 0

//////

//////

//////

//////

//////

//////

//////

//////

//////

//////

///////

/***@brief 設定串列埠通訊速率

*@param fd 型別 int 開啟串列埠的檔案控制代碼

*@param speed 型別 int 串列埠速度

*@return void

*/int speed_arr = ;

int name_arr = ;

void set_speed(int fd, int speed)

tcflush(fd,tcioflush);

} }}

//////

//////

//////

//////

//////

//////

//////

//////

//////

//////

///////

/***@brief 設定串列埠資料位,停止位和效驗位

*@param fd 型別 int 開啟的串列埠檔案控制代碼

*@param databits 型別 int 資料位 取值 為 7 或者8

*@param stopbits 型別 int 停止位 取值為 1 或者2

*@param parity 型別 int 效驗型別 取值為n,e,o,,s

*/int set_parity(int fd,int databits,int stopbits,int parity)

options.c_cflag &= ~csize;

switch (databits) /*設定資料位數*/

switch (parity)

/* 設定停止位*/

switch (stopbits)

/* set input parity option */

if (parity != 'n')

options.c_iflag |= inpck;

tcflush(fd,tciflush);

options.c_cc[vtime] = 150; /* 設定超時15 seconds*/

options.c_cc[vmin] = 0; /* update the options and do it now */

if (tcsetattr(fd,tcsanow,&options) != 0)

options.c_lflag &= ~(icanon | echo | echoe | isig); /*input*/

options.c_oflag &= ~opost; /*output*/

return (true);

}///

//////

//////

//////

//////

//////

//////

//////

//////

//////

//////

////

int main(int argc, char *argv)

printf("open...\n");

set_speed(fd,115200);

if (set_parity(fd,8,1,'n') == false)

printf("reading...\n");

while(1)

printf("close...\n");

close(fd);

return

0;}

呼叫的方法比較的簡單,如下,fd是開啟的tty裝置的檔案控制代碼

set_speed(fd,115200);

if (set_parity(fd,8,1,'n') == false)

linux下串列埠程式測試

linux平台下的串列埠程式網上比比皆是,這裡是自己參考資料寫的。測試函式如下 另外那個標頭檔案是我經常使用的,現在還在不斷更新 修改中,也放到這裡吧 測試如下 虛擬機器fc9,使用物理串列埠 可以在vm中設定的 在tty1上執行該程式,在tty2上執行minicom,短接串列埠線2 3腳,可以看到...

模擬串列埠UART的實現

我所禱告的,就是要你們的愛心,在知識和見識上,多而又多,使你們能分辨是非,做誠實無過的人,直到 的日子。腓立比書 1 9 10 最近在調的mcu的型號為stm32f030,配置晶元相較之前的mcu都比較簡單,功能配置很順利。但是在寫串列埠程式的時候,發現串列埠一直不通,使用示波器也沒有波形。因為基本...

Uart進行的串列埠收發

使用hal庫來完成,使用快取陣列進行儲存 hal uart transmit huart1,txt,sizeof txt 1 第乙個引數是要使用的串列埠控制代碼位址,比如要使用u s art1,引數就設定為u s art1的控制代碼位址 huart1 第二個引數是要傳送的資料緩衝區首位址 第三個引數...