#include
struct termios
int tcgetattr(int fd, struct termios *termios_p); //獲取與終端相關的引數
inttcsetattr(int fd, int optional_actions, struct termios *termios_p); //設定終端引數
int tcsendbreak(int fd, int duration);
int tcdrain(int fd); //等待直到所有寫入 fd 引用的物件的輸出都被傳輸
int tcflush(int fd, int queue_selector); //刷清(扔掉)輸入快取
int tcflow(int fd, int action); //掛起傳輸或接受
int cfmakeraw(struct termios *termios_p);// 製作新的終端控制屬性
speed_t cfgetispeed(struct termios *termios_p); //得到輸入速度
speed_t cfgetospeed(struct termios *termios_p); //得到輸出速度
int cfsetispeed(struct termios *termios_p, speed_t speed); //設定輸入速度
int cfsetospeed(struct termios *termios_p, speed_t speed) //設定輸出速度
send.c
#include
#include
#include
int main()
; struct termios option;
///dev/pts/?是兩個虛擬串列埠之一
int fd = open("/dev/pts/25", o_rdwr | o_noctty | o_nonblock);
if(fd == -1)
printf("open serial port success!\n");
tcgetattr(fd, &option);
cfmakeraw(&option);
cfsetispeed(&option, b9600);
cfsetospeed(&option, b9600);
tcsetattr(fd, tcsanow, &option);
int length = sizeof(sbuf);
int ret = write(fd, sbuf, length);
if(ret == -1)
printf("the number of char sent is %d\n", ret);
ret = close(fd);
if(ret == -1)
perror("close the device failure!\n");
return
0;}
recv.c
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define max_buffer_size 512
int main()
printf("open serial port success!\n");
tcgetattr(fd, &opt);
cfmakeraw(&opt);
cfsetispeed(&opt, b9600);
cfsetospeed(&opt, b9600);
tcsetattr(fd, tcsanow, &opt);
rbuf = hd;
printf("ready for receiving data...\n");
while(1)
printf("\n");
ret = close(fd);
if(ret == -1)
perror("close the device failure!\n");
return
0;}
虛擬串列埠: 串列埠應用程式設計
include include 標準輸入輸出定義 include 標準函式庫定義 include unix 標準函式定義 include include include 檔案控制定義 include ppsix 終端控制定義 include 錯誤號定義 include include include...
Linux串列埠應用程式設計
常見的資料通訊的基本方式可分為並行通訊與序列通訊兩種。1.並行通訊是指利用多條資料傳輸線將乙個字資料的各位元位同時傳送。它的特點是傳輸速度快,適用於傳輸距離短且傳輸速度較高的通訊。2.序列通訊是指利用一條傳輸線將資料以位元位為單位順序傳送。特點是通訊 線路簡單,利用簡單的線纜就可實現通訊,降低成本,...
ARM40 A5D27應用程式 串列埠應用程式示例
本文為串列埠應用程式示例,測試板為arm40 a5d27.將串列埠 ttys5 的tx rx腳短接,然後 cat dev ttys5 echo 123abc dev ttys5 可以看到ttys5返回123abc檔名為 test uart.c,見本文附錄 1 arm linux gnueabihf ...