Linux下串口通信详解(下)读写串口及关闭串口

上一篇博客是串口的打开及配置,博客链接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要放在循环中保证持续读数据:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值