1. 实验目标
-
掌握STM32 HAL库的UART配置方法
-
实现通过UART接收数据并处理
-
使用中断方式接收数据
-
用串口调试工具发送数据1或0,输入为1时板载LED亮,输入为0板载LED熄灭。
2. 硬件准备
-
STM32开发板(STM32F103C8T6)
-
USB转TTL模块
-
杜邦线若干
-
PC端串口调试助手
3. 软件准备
-
STM32CubeMX
-
Keil MDK
-
串口调试工具
4.硬件连接
- 硬件连接图形
- 板载LED接线图
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灯熄灭
-