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灯熄灭

相关推荐
sinat_360704824 小时前
STM32 看门狗
stm32·单片机·嵌入式硬件
亿道电子Emdoor4 小时前
【ARM】MDK如何生成指定大小的bin文件,并指定空区域的填充数据
arm开发·stm32·单片机
mftang4 小时前
STM32 CAN过滤器配置和应用方法介绍
stm32·单片机·嵌入式硬件
楼台的春风5 小时前
【详细讲解在STM32的UART通信中使用DMA机制】
stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式·信息与通信
Chambor_mak6 小时前
stm32单片机个人学习笔记16(SPI通信协议)
stm32·单片机·学习
电子科技圈7 小时前
在低功耗MCU上实现人工智能和机器学习
人工智能·经验分享·科技·嵌入式硬件·mcu·物联网·机器学习
小白今天也很酷7 小时前
Python与MCU通信:串口数据采集及CSV/Excel存储方法
python·单片机·excel
海的预约8 小时前
51单片机-按键
单片机·嵌入式硬件·51单片机
【云轩】11 小时前
基于STM32与IFX007T的电机驱动全解析(无人机/机器人实战)
stm32·机器人·无人机
qq_75568224019 小时前
STM32使用NRF2401进行数据传送
stm32·单片机·嵌入式硬件