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.硬件连接

  • 硬件连接图形
  • 板载LED接线图

5.实验步骤

  • 新建项目

    选择对应型号的STM32芯片。

  • 配置UART

    • 选择USART1(或其他可用串口)

    • 模式选择 Asynchronous

    • 参数配置

  • 设置GPIO
  1. 生成代码

    选择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.实验验证

  1. 使用杜邦线连接开发板与USB转TTL模块:

    • STM32 UART1_TX → USB-TTL RX

    • STM32 UART1_RX → USB-TTL TX

    • GND 共地

  2. 打开串口调试助手:

    • 选择正确COM口

    • 波特率 115200

    • 发送数据1

  1. 观察现象:

    • 发送一个字符1,板载LED灯点亮

    • 发送一个字符0,板载LED灯熄灭

相关推荐
Js_cold12 分钟前
Xilinx FPGA Flash启动时钟频率
单片机·嵌入式硬件·fpga开发·vivado·xilinx·flash·cclk
番茄灭世神34 分钟前
基于VScode搭建GD32开发环境
arm开发·vscode·单片机·cmake·gd32
TEC_INO43 分钟前
stm32_12:RFID-RC522项目
stm32·单片机·嵌入式硬件
独处东汉43 分钟前
AI辅助Stm32l031项目开发调试完成与总结
人工智能·stm32·嵌入式硬件
JXNL@1 小时前
《浪涌保护器件全解析:GDT/TSS/TVS/SPD 定义、原理及选型手册》
单片机·嵌入式硬件
YouEmbedded1 小时前
解码WIFI模块与IoT云平台
stm32·微信小程序·wifi模块(esp8266)·iot云平台接·生态建立
代码游侠1 小时前
学习笔记——ARM Cortex-A 裸机开发体系架构
arm开发·笔记·嵌入式硬件·学习·架构
__万波__1 小时前
STM32L475基于HAL库封装串口打印模块
stm32·单片机·嵌入式硬件
天天爱吃肉82181 小时前
交叉表格与卡方检验:新能源汽车研发测试中的分类变量关联性分析实战
人工智能·python·嵌入式硬件·机器学习·分类·数据挖掘·汽车
YouEmbedded1 小时前
解码MQTT协议与DHT11传感器
stm32·mqtt协议·dht11温湿度传感器