⏱️ STM32 定时器 1.000 ms 计算:主频8MHz PSC=79 ARR=99
工具计算永久页 · 服务端已算好结果,可收藏、可分享、可被搜索引擎收录
主频 fck=8 MHz,预分频 PSC=79,重装载 ARR=99。
定时周期:1.000 ms(0.001000 秒)
中断频率:1000 Hz
公式:定时周期 = (PSC+1) × (ARR+1) / fck
👁 11 次查看 · 2026-08-14 00:50 生成
// TIM2 基本定时中断(HAL 库生成)
// 定时 1.000 ms,中断频率 1,000.00Hz
// 主频 fck=8MHz PSC=79 ARR=99
TIM_HandleTypeDef htim;
void MX_TIM2_Init(void){
__HAL_RCC_TIM2_CLK_ENABLE();
htim.Instance = TIM2;
htim.Init.Prescaler = 79; // PSC
htim.Init.CounterMode = TIM_COUNTERMODE_UP;
htim.Init.Period = 99; // ARR
htim.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim);
}
// 启动(在主函数调用)
HAL_TIM_Base_Start_IT(&htim);
// 定时中断回调(每 1.000 ms 执行一次)
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){
if (htim->Instance == TIM2) {
// TODO: 你的周期任务
}
}