• 串口应用

1)串口最大的应用就是调试程序,打印一些调试信息,快速定位bug,俗称Printf大法。

2)串口通讯如RS-232、RS-485, 标准协议 modbus-rtu。

3)连接一些串口模块,如WiFi模块、蓝牙模块等。

4)软件升级(IAP)。

  • 串口接收数据处理模式

串口接收数据一般有3中模式,介绍如下:

1)查询模式为堵塞模式,必须要定时去查询是否收到数据;

2)中断模式为非堵塞模式,也是用的比较多的,但每次只能接收一个字节;

3)串口空闲中断 + DMA,这种实时性非常高,也是我用的最多的模式。

前2种模式都需要去判断接收是否完成,这样就需要有个超时判断,接收超时就判定一帧数据接收完毕,然后通知前台处理接收数据;

第3种就不需要去判断接收完成,只要空闲中断产生接收就完成,为了适合通讯数据量大的,接收数据缓冲区需要分配较大空间。一般分配2KB够用了,大数据收发则需采用环形队列数据结构。

  • 串口空闲中断+DMA模式的数据结构及接口函数定义如下:

1)数据结构定义见图1。

fc8adfa9e1f9c90dba6541967327a545.png

图1 串口通讯参数数据结构定义

2)接口函数定义见图2

a50fafeb8d7c02daecc07b8eca39666f.png

图2 接口函数定义

以上源码如有需要给我留言,串口应用与串口数据接收处理方法就介绍到这里。下章讲一下IIC通讯。谢谢你的阅读。如有不对之处烦请不吝赐教。谢谢!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐