




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
串口操作代码#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_ccVTIME = 0; newtio.c_ccVMIN = 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 = /dev/ttyS0, /dev/ttyS1, /dev/ttyS2,/dev/ttyS3, /dev/ttyS4, /dev/ttyS5, /dev/ttyS6; if(com_port 6) ) printf(the port is out range); return -1; fd = open(devcom_port, O_RDWR | O_NOCTTY | O_NDELAY); if(fd 0) perror(open serial port); return -1; if(fcntl(fd, F_SETFL,0) 0) perror(fcntl F_SETFL); return -1; if(isatty(fd) = 0) perror(isatty is not a terminal device); return -1; return fd;int main(void) int fd = 0; char BUFFERBUFFER_SIZE = 0; if(fd = open_port(HOST_PORT) = -1) perror(open port); return -1; if(set_port(fd,115200,8,N,1)= -1) perror(set port); return -1; do printf(Input some words:n); memset(buffer,0,BUFFER_SIZE); if(fgets(buffer,BUFFE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-湖北-湖北汽车驾驶与维修员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北林木种苗工二级(技师)历年参考题库典型考点含答案解析
- 2025年智能停车系统项目智慧停车平台建设研究
- 2025年事业单位工勤技能-湖北-湖北中式面点师五级(初级工)历年参考题库典型考点含答案解析
- 绿色消费2025:传播策略创新与消费者行为引导实证研究报告
- 职业技能培训在农村公共文化服务体系建设中的应用报告
- 2025年事业单位工勤技能-河南-河南房管员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南仓库管理员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河北-河北药剂员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河北-河北土建施工人员二级(技师)历年参考题库含答案解析
- 关于成立印刷包装公司可行性研究报告(范文)
- 公司之间罚款协议书
- T/CECS 10246-2022绿色建材评价智能坐便器
- 2025年中国铂金属制品市场现状分析及前景预测报告
- 2025-2030年中国硅酸钇镥(LYSO)市场深度调查与发展前景预测报告
- TSG 23-2021气瓶安全技术规程
- 2025年渠道管理及维护工技能资格知识考试题与答案
- CCF全国青少年信息学奥林匹克联赛NOIP 2024真题
- 社区健康教育知识讲座
- 监护学徒协议书范本
- JISG3141-2017冷轧钢板及钢带
评论
0/150
提交评论