linux 串口编程.docx
18页1、这几天,由于长春门检系统项目的需要,涉及到了读卡器信息的串口读取,所以在Linux下串口信息的读取有了一点心得体会。1. 打开串口 与其他的关于设备编程的方法一样,在Linux下,操作、控制串口也是通过操作起设备文件进行的。在Linux下,串口的设备文件是/dev/ttyS0或/dev/ttyS1等。因此要读写串口,我们首先要打开串口: char *dev = /dev/ttyS0; /串口1 int fd = open( dev, O_RDWR ); /| O_NOCTTY | O_NDELAY if (-1 = fd) perror(Cant Open Serial Port); return -1; else return fd; 2. 设置串口速度 打开串口成功后,我们就可以对其进行读写了。首先要设置串口的波特率: int speed_arr = B38400, B19200, B9600, B4800, B2400, B1200, B300, B38400, B19200, B9600, B4800, B2400, B1200, B300, ;int name_arr = 3
2、8400, 19200, 9600, 4800, 2400, 1200, 300, 38400, 19200, 9600, 4800, 2400, 1200, 300, ;void set_speed(int fd, int speed) int i; int status; struct termios Opt; tcgetattr(fd, &Opt); for ( i= 0; i sizeof(speed_arr) / sizeof(int); i+) if (speed = name_arri) tcflush(fd, TCIOFLUSH); cfsetispeed(&Opt, speed_arri); cfsetospeed(&Opt, speed_arri); status = tcsetattr(fd, TCSANOW, &Opt); if (status != 0) perror(tcsetattr fd); return; tcflush(fd,TCIOFLUSH); 3. 设置串口信息这主要包括:数据位、停止位、奇偶校验位这些主要的信息。 /*brief 设置串口数据
3、位,停止位和效验位*param fd 类型 int 打开的串口文件句柄*param databits 类型 int 数据位 取值 为 7 或者8*param stopbits 类型 int 停止位 取值为 1 或者2*param parity 类型 int 效验类型 取值为N,E,O,S*/int set_Parity(int fd,int databits,int stopbits,int parity) struct termios options; if ( tcgetattr( fd,&options) != 0) perror(SetupSerial 1); return(FALSE); options.c_cflag &= CSIZE; options.c_lflag &= (ICANON | ECHO | ECHOE | ISIG); /*Input*/ options.c_oflag &= OPOST; /*Output*/ switch (databits) /*设置数据位数*/ case 7: options.c_cflag |= CS7; break; case
《linux 串口编程.docx》由会员小**分享,可在线阅读,更多相关《linux 串口编程.docx》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-03-21 40页
2024-03-21 32页
2024-03-21 44页
2024-03-13 36页
2024-03-13 12页
2024-03-13 15页
2024-03-13 35页
2024-03-04 55页
2024-03-04 57页
2024-03-04 137页