STM32LL库系列教程【三】——USART中断实验

本教程详细介绍了如何使用STM32LL库配置和实现USART中断通信,从CubeMx工程配置、时钟设置到代码编写,包括接收中断的启用、中断函数编写及中断功能验证。通过该教程,读者将能够掌握STM32低层库进行串口通信的基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验开发板:野火霸道V1

STM32LL库系列教程——LL库工程配置流程
STM32LL库系列教程【一】——安装CubeMx软件
STM32LL库系列教程【二】——点亮LED小灯
STM32LL库系列教程【三】——USART中断实验
STM32LL库系列教程【四】——ADC单通道采集
STM32LL库系列教程【五】——DMA实现ADC单通道采集
STM32LL库系列教程【六】——通用定时器定时实验
STM32LL库系列教程【七】——通用定时器PWM实验
STM32LL库系列教程【八】——通用定时器输入捕获实验
STM32LL库系列教程【九】——SPI通信实验
STM32LL库系列教程【十】——IIC通信实验

USART + DMA 实现接收不定长度示例:STM32基于LL库的USART+DMA使用

搭建工程

1、配置工程属性

在这里插入图片描述

2、确认时钟源

在这里插入图片描述

3、配置系统时钟

4、使能USART

这里选择的是USART1、模式为异步、打开中断,相关参数配置选择默认

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28Pazt7V-1639191359661)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211101916651.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rledGbmm-1639191359661)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211102249340.png)]

5、生成代码

点击 GENERATE CODE 会在设定的路径成功生成代码,选择打开工程

代码编写

CubeMx生成的代码有些寄存器没有使能,我们不能直接使用,需要我们自己使能相关寄存器

1、使能接收中断

打开usart.c源文件,我们在函数MX_USART1_UART_Init() 最后面添加USART接收中断使能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AES953rQ-1639191359662)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211103315268.png)]

2、编写中断函数

在写中断函数之前先看几个相关函数

uint32_t LL_USART_IsActiveFlag_RXNE(USART_TypeDef *USARTx) //检测接收数据就绪标志

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PeIzB6bU-1639191359664)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211104025696.png)]

uint8_t LL_USART_ReceiveData8(USART_TypeDef *USARTx)  //读取接收器数据寄存器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L756bTGQ-1639191492907)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211104707827.png)]

void LL_USART_TransmitData8(USART_TypeDef *USARTx, uint8_t Value)  //写入发送器数据寄存器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J7GqbM3L-1639191359669)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211104831207.png)]

接下来就可以编写中断函数了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28YwaGYZ-1639191359671)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211105014032.png)]

3、下载程序观察效果

下载到开发板,然后打开串口调试助手,发送"ABCD",在接收区收到了"ABCD",这样表示USART中断函数没有问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AupoxiKI-1639191359677)(C:\Users\hao\AppData\Roaming\Typora\typora-user-images\image-20211211105231336.png)]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯大师~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值