Linux串口编程教程——串口编程详解(源代码)

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;

你可能感兴趣的:(串口)