- #include "stm32f4xx.h"
- void SysTick_ConfigWithClockSource(uint32_t ticks, uint8_t useHCLK) {
- SysTick->LOAD = ticks - 1; // 设置重装载值
- SysTick->VAL = 0; // 清零计数器
- if (useHCLK) {
- SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk; // 使用 HCLK 作为时钟源
- } else {
- SysTick->CTRL &= ~SysTick_CTRL_CLKSOURCE_Msk; // 使用 HCLK/8 作为时钟源
- }
- SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk | // 使能中断
- SysTick_CTRL_ENABLE_Msk; // 启用 SysTick
- }
|