当前位置: 首页 > 资讯 > >正文

ARM Cortex-M4|非常好用的一种串口收发方式

来源:博客园    时间:2023-04-22 10:07:21

在这里分享项目中我经常使用的一种串口收发方式:阻塞发送 +接收中断 +空闲中断 +环形队列 

项目代码地址:www.baidu.com


(资料图)

一、简介

串口发送使用最简单的阻塞发送方式,一般来说都是接收的数据量比较大,发送数据用此方式即可。

串口接收使用接收中断+空闲中断+FIFO,数据量一般的使用没有问题,若数据很大,考虑使用加上DMA来传输。

二、STM32CubeMX配置串口

串口参数默认配置

打开串口中断

使用LL库进行开发

三、添加FIFO缓冲区

编写FIFO数据结构,环形队列由数组实现,提供 入队、出队等接口给串口使用

四、重构串口接收中断

编写BSP串口代码,自定义中断函数,提供给库中断调用,中断函数分别实现接收中断与空闲中断的相关操作

在官方库的中断函数下添加自定义的中断处理函数

五、重构printf打印函数

使用可变参数,重构串口收发

串口自发自收测试

六、效果

如图所示,2路串口同时自发自收,每500ms发送1024byte数据,无压力,理论可以支持的串口取决于MCU的串口数

X 关闭

推荐内容

最近更新

Copyright ©  2015-2022 华声餐饮网版权所有  备案号:京ICP备2021034106号-36   联系邮箱:55 16 53 8 @qq.com