STM32CubeMX的一些操作步骤的作用
STM32CubeMX作用
STM32CubeMX 是一个代码生成器,图形化配置硬件后,会自动生成初始化代码,省去了大量手写工作,并确保配置合法。
SYS 中 Debug 模式为 Serial Wire 有什么用?
这是设置 调试接口(Debug Interface) 的类型。
Serial Wire(SW)模式 是 ST 官方推荐的调试方式,占用 两个引脚:
SWDIO SWCLK
它用于支持:
下载程序(如 ST-Link)
在线调试(断点/单步/变量观察)
使用 printf 输出(通过 SWO 配合 ITM)如果你选择“Disabled”,调试功能会被关闭,不能使用 ST-Link。
如果你选择“Disabled”,调试功能会被关闭,不能使用 ST-Link。
Timebase Source 设置为 SysTick 是什么意思?
这个选项控制 HAL 库中 HAL_Delay() 和 HAL_InitTick() 的时间基准(tick timer) 用哪个定时器。
SysTick 是 Cortex-M 内核内置的系统定时器。
HAL 默认使用 SysTick 来每隔 1ms 产生一次中断,驱动 HAL_Delay() 等时间相关函数。
常见的选择:
SysTick:默认选择,简单高效(适用于大多数应用)
TIMx:有时候你想把 SysTick 用于其他用途,就可以改用某个 TIM 定时器作为时间基准
TIM 定时器配置中(设置时钟来源和开启中断)
1.Clock Source 为 Internal Clock 的作用?
用于选择时基单元的时钟来源,选择Internal Clock 表示选择了RCC的方式。
2.INVC settings 中勾选 TIM2 global interrupt 是什么意思?
勾选该项后,CubeMX 会:
在 stm32f4xx_it.c 文件中生成 TIM2_IRQHandler() 函数的模板
自动开启 TIM2 中断
在 startup_xxx.s 中启用 TIM2 的中断向量
并且在 NVIC 中使能该中断
表示你想使用 TIM2 的中断功能,比如定时器溢出后自动进入中断执行特定代码。
在 Clock Configuration 中设置 SYSCLK 频率
SYSCLK 是系统主时钟。
设置为 100MHz 的作用是:
提高系统运行速度(CPU 运算速度、外设响应速度)
控制各外设的时钟频率(如 AHB、APB、USART、TIM)
会影响延时、定时器周期、中断频率等所有基于时钟的功能
Connect 中启用 I2C1,会生成什么?
初始化函数:MX_I2C1_Init()
I2C 句柄结构体:I2C_HandleTypeDef hi2c1;
引脚初始化(SCL 和 SDA)作为 AF(复用功能)引脚配置
打开 RCC 的 I2C 时钟
HAL 库函数调用 I2C 初始化