ARM40 A5D27應用程式 串列埠應用程式示例

2021-10-07 19:37:58 字數 1611 閱讀 1799

本文為串列埠應用程式示例,測試板為arm40-a5d27.

將串列埠 ttys5 的tx、rx腳短接,然後:

cat /dev/ttys5 &

echo 123abc > /dev/ttys5 //可以看到ttys5返回123abc

檔名為 test_uart.c,**見本文附錄(1)。

arm-linux-gnueabihf-gcc -o test_uart test_uart.c
將arm40-a5d27的ttys5連線到pc(usb 串列埠),設定pc端usb串列埠波特率為115200.

將交叉編譯得到的 test_uart 檔案拷貝到arm40-a5d27板中,執行程式:

./test_uart
在pc端usb串列埠可以看到「hello world!」的列印。

在pc端usb串列埠輸入123abc,在arm40-a5d27的ttys5可以收到「123abc」。

薈聚計畫:共商 共建 共享 grant

(1)test_uart.c 的**

#include #include #include #include #include #include #define dev_tty "/dev/ttys5"

#define buf_size 256

int main(int argc, char *ar**)

/* configure uart */

tcgetattr(fd, &options);

options.c_cflag &= ~parenb;

options.c_cflag &= ~cstopb;

options.c_cflag &= ~csize;

options.c_cflag |= cs8;

options.c_cc[vtime] = 10; // read timeout 10*100ms

options.c_cc[vmin] = 0;

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

options.c_oflag &= ~opost;

options.c_iflag &= ~(icrnl | ixon);

cfsetispeed(&options, b115200);

cfsetospeed(&options, b115200);

options.c_cflag |= (clocal | cread);

tcflush(fd, tciflush);

tcsetattr(fd, tcsanow, &options);

while (1)

/* write uart */

ret = write(fd, tx_buf, sizeof(tx_buf));

if (ret != sizeof(tx_buf))

printf("error write ret=%d\n", ret);

}/* close uart */

close(fd);

return 0;

}

串列埠應用程式

include struct termios int tcgetattr int fd,struct termios termios p 獲取與終端相關的引數 inttcsetattr int fd,int optional actions,struct termios termios p 設定終端...

串列埠應用程式設計

include include 標準輸入輸出定義 include 標準函式庫定義 include unix 標準函式定義 include include include 檔案控制定義 include ppsix 終端控制定義 include 錯誤號定義 include include include...

Flash Builder4 0執行應用程式報錯

1 錯誤描述 securityerror error 2148 swf 檔案 file d adobe flash builder 4 installer hvbox bin debug vhbox.swf 不能訪問本地資源 file d adobe flash builder 4 installe...