STM32 HAL库UART串口数据接收实战教程
1. 实验目标
掌握STM32 HAL库的UART配置方法
实现通过UART接收数据并处理
使用中断方式接收数据
用串口调试工具发送数据1或0,输入为1时板载LED亮,输入为0板载LED熄灭。
2. 硬件准备
STM32开发板(STM32F103C8T6)
USB转TTL模块
杜邦线若干
PC端串口调试助手
3. 软件准备
STM32CubeMX
Keil MDK
串口调试工具
4.硬件连接
5.实验步骤
新建项目
选择对应型号的STM32芯片。
配置UART
选择USART1(或其他可用串口)
模式选择 Asynchronous
参数配置
设置GPIO
-
生成代码
选择IDE类型(Keil)并生成代码。
6.代码编写
在生成的代码基础上添加以下内容:
while (1)
{
uint8_t data;
HAL_UART_Receive(&huart1,&data,1,HAL_MAX_DELAY);
if(data == '0')
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
}
else
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
编译上传程序
7.实验验证
-
使用杜邦线连接开发板与USB转TTL模块:
-
STM32 UART1_TX → USB-TTL RX
-
STM32 UART1_RX → USB-TTL TX
-
GND 共地
-
打开串口调试助手:
-
选择正确COM口
-
波特率 115200
-
发送数据1
-
观察现象:
-
发送一个字符1,板载LED灯点亮
-
发送一个字符0,板载LED灯熄灭
作者:ElePower9527