#include #include #include #include #include #include #include #include #include main()
; char read_buf[256];
char write_buf[256];
struct termios opt;
fd = open("/dev/ttyusb0", o_rdwr | o_noctty); //預設為阻塞讀方式
if(fd == -1)
tcgetattr(fd, &opt);
cfsetispeed(&opt, b9600);
cfsetospeed(&opt, b9600);
if(tcsetattr(fd, tcsanow, &opt) != 0 )
opt.c_cflag &= ~csize;
opt.c_cflag |= cs8;
opt.c_cflag &= ~cstopb;
opt.c_cflag &= ~parenb;
opt.c_cflag &= ~inpck;
opt.c_cflag |= (clocal | cread);
opt.c_lflag &= ~(icanon | echo | echoe | isig);
opt.c_oflag &= ~opost;
opt.c_oflag &= ~(onlcr | ocrnl); //新增的
opt.c_iflag &= ~(icrnl | inlcr);
opt.c_iflag &= ~(ixon | ixoff | ixany); //新增的
// //***********************************==
// //space
// opt.c_cflag |= parenb | cs8 | cmspar ;
// //***********************************==
//***********************************==
//mark
opt.c_cflag |= parenb | cs8 | cmspar ;
opt.c_cflag &= ~parodd;
//***********************************==
opt.c_cc[vtime] = 0;
opt.c_cc[vmin] = 0;
tcflush(fd, tcioflush);
printf("configure complete\n");
if(tcsetattr(fd, tcsanow, &opt) != 0)
printf("start send and receive data\n");
while(1)
}
實驗過程,下位機將sm2=1,char b[1]=;或char b[1]=;都能夠進入中斷!
參考:《lin
ux操作
系統下微
機與單片
機組成的
多機通訊
系統》
linux串列埠程式設計2
串列埠概述 常見資料通訊方式 並行通訊,序列通訊 uart的主要操作 資料傳送及接受 產生中斷 產生波特率 loopback模式 紅外模式 自動流控模式 串列埠引數的配置主要包括 波特率 資料位 停止位 流控協議。linux中的串列埠裝置檔案放於 de 目錄下,串列埠一,串列埠二分別為 dev tt...
linux串列埠程式設計
include 標準輸入輸出定義 include 標準函式庫定義 include unix標準函式定義 include include include 檔案控制定義 include ppsix終端控制定義 include 錯誤號定義 brief 設定串列埠通訊速率 param fd 型別 int 開...
Linux串列埠程式設計
串列埠概述 常見資料通訊方式 並行通訊,序列通訊 uart的主要操作 資料傳送及接受 產生中斷 產生波特率 loopback模式 紅外模式 自動流控模式 串列埠引數的配置主要包括 波特率 資料位 停止位 流控協議。linux中的串列埠裝置檔案放於 de 目錄下,串列埠一,串列埠二分別為 dev tt...