【UART 串口】命令点灯(中断)
下载例程代码: 下载代码
注意
请一定按照 例程使用方法🔗 导入例程,否则下载的可能不是例程而是其他工程。
通过串口中断实 现控制学习板正面的LED。
如何使用例程
-
编译并下载程序到学习板
-
使用配套TYPE-C数据线,将学习板连接到计算机

-
打开 波特律动 串口助手 (baud-dance.com) 在线串口调试助手,点击“选择串口”,选择USB Single Serial
-
发送 R1 即可点亮红色LED,发送 R0 即可熄灭红色LED,其他颜色LED类似

例程讲解
下面介绍了如何自己实现该例程的功能
1、工程配置
-
分配引脚:在Pinout&Configuration页面,将 PA6、PA7、PB0 配置为 GPIO_Output,并分别设置 User label 为 BLUE、GREEN、RED
1、左键点击对应的引脚,选择 GPIO_Output;
2、右键点击对应的引脚,选择 User label,分别输入 BLUE、GREEN、RED

-
打开串口2外设:Pinout&Configuration -> Connectivity -> USART2,将Mode选择为Asynchronous
-
使能串口中断:在 USART2 -> Configuration -> NVIC Settings 标签卡中,勾选 USART2 global interrupt 的 Enable

2、代码
-
定义全局变量
rx_data
作为串口接收缓冲区。// 串口接收缓冲区
uint8_t rx_data[2]; -
在 main 函数中,使用
HAL_UART_Receive_IT
函数开启串口接收中断只需要开启一次,接收到数据后会自动进入中断函数
// 开启串口中断接收
HAL_UART_Receive_IT(&huart2, rx_data, 2);