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

相关推荐
不悔哥3 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20163 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子3 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5553 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡3 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9663 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛3 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅3 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员3 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程