上一篇博客是串口的打开及配置,博客链接http://blog.youkuaiyun.com/specialshoot/article/details/50707965
这一篇我将要把读写串口及串口关闭的操作详细介绍一下。
读串口
读串口就是接收串口数据,通过read来实现。
read函数原型:
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
参数说明:
- fd:文件描述符
- *buf:缓冲区,读取的数据会被放到这个缓冲区中去
- count:请求读取的字节数,读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移。
nread=read(fd,buff,8);//读串口
printf("nread=%d,%s\n",nread,buff);
注意:
read默认为阻塞模式,若在open操作中设置O_NONBLOCK则是非阻塞模式。在阻塞模式中,read没有读到数据会阻塞住,直到收到数据;非阻塞模式read没有读到数据会返回-1不会阻塞。
如果是非阻塞模式,read要放在循环中保证持续读数据: