STM32串口中断应用实例
本文将介绍如何使用STM32F4的串口接收中断,通过串口助手模拟上位机发送指令、STM32F4串口中断接收到指令后根据指令选择开关LED小灯。
1.运用到的资源、工具:
1.1开发板芯片STM32F407,USART3串口驱动电路、LED驱动电路
1.3辅助工具:STM32CubeMX
2.硬件设计
2.1原理图


3.软件设计
3.1功能架构:串口调试助手向USART3发送1时,使LED1点亮; 发送0时,使LED1熄灭; 串口接收使用接收中断来提高程序运行时的效率、避免程序不断轮询查看串口是否接收到1或0的指令
3.2STM32cubeMX配置工程文件:
将USART3使能选择异步通信、在NVIC中使能USART3的中断功能
将PF10设为GPIO_OUTPUT
4.代码实现
4.1printf输出重定向,使得打印信息通过USART3打印到串口助手
int fputc(int ch, FILE *p)
{
while(!(USART3->SR & (1 << 7)));
USART3->DR = ch;
return ch;
}
4.2重定义串口中断接收完成回调函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart->Instance == USART3)
{
if(RED == 1)
{
LED1_ON;
printf("LED1 ON RED= %d\\n", RED);
}
else
{
LED1_OFF;
printf("LED1 OFF RED= %d\\n", RED);
}
}
}
4.3宏定义 LED1的点亮熄灭
#define LED1_ON HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_RESET)
#define LED1_OFF HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET)
-
STM32
+关注
关注
2305文章
11123浏览量
371210 -
中断
+关注
关注
5文章
913浏览量
43567 -
串口
+关注
关注
15文章
1607浏览量
81962 -
开发板
+关注
关注
25文章
6133浏览量
113536 -
stm32cubemx
+关注
关注
5文章
287浏览量
17152
发布评论请先 登录
STM32串口通讯——中断方式
STM32使用CubeMAX配置的串口中断接收方法
STM32F407串口中断配置
STM32f103------串口中断及其配置
STM32CubeMX-串口中断实验

STM32串口中断应用实例
评论