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

实验开发板:野火霸道V1

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

搭建工程

1、配置工程属性

STM32LL库系列教程【三】——USART中断实验_第1张图片

2、确认时钟源

STM32LL库系列教程【三】——USART中断实验_第2张图片

3、配置系统时钟

STM32LL库系列教程【三】——USART中断实验_第3张图片

4、使能USART

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

STM32LL库系列教程【三】——USART中断实验_第4张图片

STM32LL库系列教程【三】——USART中断实验_第5张图片

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) //检测接收数据就绪标志

STM32LL库系列教程【三】——USART中断实验_第6张图片

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

STM32LL库系列教程【三】——USART中断实验_第7张图片

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

STM32LL库系列教程【三】——USART中断实验_第8张图片

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

STM32LL库系列教程【三】——USART中断实验_第9张图片

3、下载程序观察效果

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

STM32LL库系列教程【三】——USART中断实验_第10张图片

你可能感兴趣的:(STM32CubeMx,stm32,单片机,arm)