本文為串列埠應用程式示例,測試板為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...