- 博客(10)
- 收藏
- 关注
原创 Timer实验4:定时器输入捕获(CuBeMX版):超声波测距+相关函数解析
本文介绍了使用STM32F407ZGT6实现超声波测距的实验过程。通过配置CuBeMX设置定时器输入捕获功能,包括时钟配置、定时器分频、输入捕获通道设置(直接模式捕获上升沿,间接模式捕获下降沿),并开启相关中断。详细解析了输入捕获的配置步骤,涉及定时器初始化、中断使能等关键操作。重点介绍了HAL库中HAL_TIM_IC_Start_IT()函数的功能,包括使能中断、输入捕获通道和启动定时器三方面。最后指出初始化输入比较参数时需注意TIM_IC_InitTypeDef结构体的ICPolarity参数设置。该实
2025-07-27 17:11:41
707
原创 【STM32定时器】实验3:定时器输出比较PWM:呼吸灯(CuBeMX版)+PWM相关函数解析
本实验基于STM32F407ZGT6,利用定时器14的输出比较功能生成PWM波控制LED实现呼吸灯效果。通过CubeMX配置定时器14的时钟源、时基单元和PWM模式,设置PF9引脚为TIM14_CH1输出,并启用串口输出CCR值。实验分析了PWM生成步骤,包括时钟使能、定时器初始化、PWM模式配置等,重点解读了HAL_TIM_PWM_Start()函数的工作原理,该函数通过操作捕获/比较使能寄存器(TIMx_CCER)的CCxE位来控制PWM输出。最终通过动态调整CCR寄存器值改变占空比,实现LED亮度渐变
2025-07-06 23:41:03
1140
原创 【STM32定时器】实验1:定时器基本用法(CuBeMX版)+启动函数解析
摘要: 本实验通过STM32基本定时器TIM6实现毫秒级延时函数。使用CuBeMX配置时钟源(84MHz)、TIM6定时器(1ms中断周期)和串口通信(用于验证)。关键步骤包括:1)配置定时器参数和中断使能;2)调用HAL_TIM_Base_Start_IT()启动定时器;3)解析底层寄存器操作原理(如CR1寄存器的CEN位控制)。实验展示了如何利用HAL库实现硬件定时功能,并通过宏定义详解了寄存器级操作机制。
2025-07-01 23:12:17
868
原创 【STM32学习笔记】ADC用法总结:轮询模式、DMA模式、扫描模式以及连续转换模式
ADC(Analog-Digital Converter)模拟-数字转换器,可以将引脚上的连续变化的模拟电压转换为数字变量,建立模拟电路到数字电路的桥梁。12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部 源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续 采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中。(以STM32F407系列)
2025-06-17 20:20:53
1024
原创 【STM32学习笔记】串口总结:串口轮询模式、串口中断模式、串口DMA模式以及串口接收不定长数据
STM32每个串口发送都有两个寄存器,发送数据寄存器(TDR)与发送移位寄存器。当调用HAL_UART_Transmit发送一段数据时,STM32的CPU会依次将数据移到寄存器中,发送移位寄存器中的数据会按照我们设定的比特率转化成高低电平到输出引脚输出。发送数据寄存器上的数据会在发送移位寄存器发送完成后被移到发送移位寄存器进行下次发送。
2025-06-08 18:08:15
1795
原创 Keil5 Debug仿真时System Viewer菜单显示空白和Peripherals菜单无外设寄存器的解决办法
Keil5调试时System Viewer空白和Peripherals菜单缺失的解决方法 Peripherals菜单无外设寄存器: 在Debug选项卡中,确认Dialog DLL设置为DARMSTM.DLL Parameter参数应与目标MCU型号匹配(如STM32F407ZGTx) System Viewer显示空白: 在Target选项卡勾选"Use Custom File" 浏览选择对应MCU的SFR文件(如STM32F40x.SFR) 文件路径通常位于Keil安装目录的ARM\S
2025-06-07 21:54:45
292
原创 【STM32学习笔记】1、串口配置概述
串口初始化设置步骤主要包括使能时钟、配置GPIO和串口参数、中断处理等。关键函数HAL_UART_Init需要配置UART_HandleTypeDef结构体,重点关注Instance(如USART1)和Init成员(包含波特率、字长、停止位等参数)。初始化时需设置复用功能模式,使能串口时钟,并可根据需要配置中断。该过程通过结构体参数化配置,简化了底层寄存器操作。
2025-05-29 23:26:38
1008
原创 CubeMX配置入门串口实验1
本文介绍了基于STM32 CubeMX的串口通信实验配置过程。首先展示了串口和GPIO引脚在CubeMX中的配置步骤,包括USART1的启用和LED0输出模式的设置。然后详细讲解了HAL库中串口发送(HAL_UART_Transmit)和接收(HAL_UART_Receive)两个关键函数的参数说明与返回值定义。最后提供了自动生成的main.c文件框架,包含系统时钟配置和外设初始化代码,为后续编写串口通信程序奠定了基础。本实验适合初学者了解STM32串口通信的基本配置方法。
2025-05-27 16:53:45
565
原创 Modbus简介
Modbus 协议可以在 RS-485 物理层上运行,但也可以在其他物理层上运行,比如以太网,Wi-Fi等等,RS-485 是一种串行通讯标准,适用于远距离高速数据传输。在工业自动化领域,常常会将 Modbus 协议应用于 RS-485 物理层上,以实现各种设备之间的通讯。因此,可以说 Modbus 和 RS-485 是可以结合使用的,但它们之间的主要区别在于一个是通讯协议,一个是物理层标准。Modbus协议使用从站和主站的概念,主站负责发送请求并控制通信的流程,而从站则响应主站的请求并提供数据。
2025-05-20 23:21:39
119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人