日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下C语言串口应用编程,Linux下串口C语言编程

發布時間:2023/12/1 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下C语言串口应用编程,Linux下串口C语言编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux下串口C語言編程

(5頁)

本資源提供全文預覽,點擊全文預覽即可全文預覽,如果喜歡文檔就下載吧,查找使用更方便哦!

9.9 積分

串口操作代碼#include #include #include #include #include #include #include #include #include #define BUFFER_SIZE 1024#define HOST_PORT 1int set_port(int fd, int baud_rate, int data_bits, char parity, int stop_bits){ struct termios newtio,oldtio; if( tcgetattr(fd,&oldtio) != 0) { perror("Setup Serial 1"); return -1; } bzero(&newtio,sizeof(newtio)); newtio.c_cflag |= CLOCAL | CREAD; newtio.c_cflag &= ~CSIZE; /* set baud_speed*/ switch(baud_rate) { case 2400: cfsetispeed(&newtio,B2400); cfsetospeed(&newtio,B2400); break; case 4800: cfsetispeed(&newtio,B4800); cfsetospeed(&newtio,B4800); break; case 9600: cfsetispeed(&newtio,B9600); cfsetospeed(&newtio,B9600); break; case 19200: cfsetispeed(&newtio,B19200); cfsetospeed(&newtio,B19200); break; case 38400: cfsetispeed(&newtio,B38400); cfsetospeed(&newtio,B38400); break; default: case 115200: cfsetispeed(&newtio,B115200); cfsetospeed(&newtio,B115200); break; } /* set data_bits upon 7 or 8*/ switch(data_bits) { case 7: newtio.c_cflag |= CS7; break; default : case 8: newtio.c_cflag |= CS8; break; } /**/ switch(parity) { default: case 'N': case 'n': { newtio.c_cflag &= ~PARENB; newtio.c_iflag &= ~INPCK; } break; case 'o': case 'O': { newtio.c_cflag |= (PARODD | PARENB); newtio.c_iflag |= INPCK; } break; case 'e': case 'E': { newtio.c_cflag |= PARENB; newtio.c_cflag &= ~PARODD; newtio.c_iflag |= INPCK; } break; case 's': case 'S': { newtio.c_cflag &= ~PARENB; newtio.c_cflag &= ~CSTOPB; } break; } /*set stop_bits 1 or 2 */ switch(stop_bits) { default: case 1: { newtio.c_cflag &= ~CSTOPB; } break; case 2: { newtio.c_cflag |= CSTOPB; } break; } newtio.c_cc[VTIME] = 0; newtio.c_cc[VMIN] = 1; tcflush(fd,TCIFLUSH); if((tcsetattr(fd,TCSANOW,&newtio)) != 0) { perror("com set error"); return -1; } printf("set UART done!\n"); return 0;}int open_port(int com_port){ int fd = 0; char *dev[] = { 關?鍵?詞: Linux 串口 語言 編程

?天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。

總結

以上是生活随笔為你收集整理的Linux下C语言串口应用编程,Linux下串口C语言编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。