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

相关推荐
小李不想当小白6 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
youcans_8 小时前
【嵌入式软件AI编程】(3)面向 AI 协同开发的 STM32 硬件信息标准化
人工智能·stm32·嵌入式硬件·ai编程
Zw-awa9 小时前
看不见的线怎么选:蓝牙、Wi-Fi、ZigBee、LoRa 与蜂窝网络
stm32
智者知已应修善业10 小时前
【51单片机实现从下到上,从上到下,从中间到两边,两边到中间】2024-10-23
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
辰哥单片机设计11 小时前
STM32智能药盒丨2027单片机新项目
stm32·单片机·嵌入式硬件
LCG米21 小时前
STM32硬件CRC外设实测:多项式固定陷阱、CRC-32校验不匹配根因与软件查表法耗时对比落地
stm32·单片机·嵌入式硬件
La Pulga1 天前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
女神下凡1 天前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
Zw-awa1 天前
从 CH340 到 HC-05 和 HC-06:让小车脱离电脑
stm32