Linux串口编程教程(三)——串口编程详(源代码)解:http://blog.csdn.net/u011192270/article/details/48174353
Linux下的串口编程(二)----(图文并茂,讲解深刻)http://blog.csdn.net/w282529350/article/details/7378388
几个要点:
1: /*无奇偶校验位*/
case 0:
uart_attr->c_cflag &= ~PARENB;//PARENB:产生奇偶位,执行奇偶校验
//uart_attr->c_cflag &= ~INPCK;//INPCK:使奇偶校验起作用,此处不可写此剧,否则会乱码,所以在开发的时候,如果在此处写上了此剧,要将其注释掉即可
break;
:2: options.c_cc[VMIN] = 1;//堵塞的读,对于read(fd,buf,len),当fd接收到的字节数 >= len时,才会激活read函数。
options.c_cc[VMIN] = 0;//不阻塞的读取字符,相应的read函数的返回值是 0 或读取到的字节数
3: options.c_cc[VTIME] = 100;//设置read函数(在空闲时)的超时时间。当此项设置非0时,无论options.c_cc[VMIN]如何设置,只要fd缓冲区的字节数 小于 len时(此时算作read的空闲时间),read函数就会阻塞,直到超时时间到。fd的缓冲区字节数 >= len 是。read 会立即激活。
4:建议设置:options.c_cc[VTIME] = 0;
options.c_cc[VMIN] = 0;
uart_attr->c_cflag &= ~PARENB;
本文详细介绍了Linux下串口编程的关键步骤与配置方法,包括无奇偶校验位的设置、读取操作的阻塞与非阻塞模式、以及read函数的超时时间配置等。通过具体的代码实例帮助读者理解如何在Linux环境中进行有效的串口通信。
&spm=1001.2101.3001.5002&articleId=78976286&d=1&t=3&u=3e8ffbc0b1d249ad9c3414b12cd37d17)

被折叠的 条评论
为什么被折叠?



