串口 接收端_串口空闲隐藏的那些问题

上篇文章介绍了串口数据帧检查问题,今天说说另两个问题,串口空闲和通信量问题。


4、 串口空闲

前面一直提到串口空闲,也大概明白串口的作用,但是一些细节问题还是需要好好说一下的。

第一个问题,如何清除串口空闲中断标志位?

很多人会使用 USART_ClearFlag 标准库函数进行清除,但是当你跳转到该函数原型时,你会看到如下说明:

e86f5e185750ad60dec8a30ef26ccb6a.png

你会看到很多标志位是无法通过该函数清除的。

那么该如何清除 IDLE 标志呢?其实上面的注释已经进行了说明。

PE、FE、NE、ORE、IDLE 标志位的清除是通过一个软件序列进行清除的:首先通过 USART_GetFlagStatus 读取 USART_SR 寄存器的值,然后通过 USART_ReceiveData 函数读取 USART_DR 的值即可。

那么这里就有一个问题,是否这些标志问题的清除都要单独编写清除序列呢?

答案是否定的。

因为这些标志位都是由同一种序列进行清除的,所以只要一个清除序列就会把所有的标志位都进行清除了(同样一旦执行了这个序列,也就意味着你无法再通过 USART_SR 寄存器获得标志位了)。

为了保证获取标志位,我们可以在清除序列之前把 USART_SR 寄存器的值保存到副本中&#

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本项目分享的是国外开源ESP8285远程串口透传模块设计,附硬件/固件等。该WIFI模块是一个基于mqtt server的wifi远程透传串口模块(包含硬件与固件), 主要的功能为基于因特网(非局域网)的串口透传。serT 硬件设计开源,用户可以自由使用,制作,修改,发布, 遵循MIT协议. serT 固件设计提供二进制文件,用户可以自由使用,生产,反向,但暂不开源。serT 远程串口透传模块电路 PCB 3D截图: 应用模式: serT 支持两个配对使用(传统透传串口模式). 从其中一个设备上发出的串口信号, 会透传到另外一个设备串口的接收, 从而让设备看起来就像导线相连,从而简化了应用的开发. 多个设备配对使用(类似RS485总线模式). 从其中一个设备上发出的串口信号, 会透传到所有的串口(不包括自身)接收端.这种模式类似RS485总线, 这就要求用户在应用协议的实现上, 设备空闲态要处于接收状态,每个时刻只有一个设备在发送数据,否则会出现数据错乱. 单个设备连接其他高级系统. 这相当于将一个串口透传给PC(或者其他高级系统),从而和PC上的应用软件连接, 实现功能. serPrint就是一个在电脑上打印远端serT数据的应用示例, 这个应用可以实现给远程非联网设备记录日志等有用的功能. serT设备需要一个mqtt server服务器, 已经测试eclipse(及 mosquitto搭建的broker), 百度云iot hub, emq搭建的borker, 中移物联等云, 未发现不适配问题. 这些有很多是免费或者限量免费的, 用户使用成本低。 相关资料下载,或者到“相关文件”下载。 视频演示:使用serT模块远程取MH-Z19二氧化碳模块的数据, mqtt 使用自建的服务器,属于另外一个运行商 https://v.youku.com/v_show/id_XMjUwMTg3NTg1Mg==.html serT 项目链接, 包含硬件, 固件, 3D结构, 文档等: https://github.com/coffeerr2004001/serT serPrint( Java客户端, 用于将serT终端的数据透传显示到主机上 ) https://github.com/coffeerr2004001/serPrint serProg( serT 固件下载烧写客户端) https://github.com/coffeerr2004001/serProg
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值