博客二:APB预分频 vs PSC预分频(90%初学者踩坑点) 前言很多人PWM算错频率全部原因只有一个分不清「总线分频APB」和「定时器内部分频PSC」再加F1独有的×2倍频机制。1. 两层分频的层级关系从上到下系统时钟SYSCLK →APB预分频RCC总线层→ 定时器时钟f_TIM →PSC预分频TIM内部层→ CNT计数时钟2. APB预分频RCC层、全局总线分频作用限制 APB1/APB2 总线速度保护外设。F1硬件硬性规定APB1 最大只能跑 36MHz所以72M系统下APB1必须2分频72/236MF1 独有 ×2 倍频机制必考判断定时器真实时钟 f_TIM如果 APB预分频 ! 1分了频f_TIM APB总线时钟 × 2如果 APB预分频 1没分频f_TIM APB总线时钟经典默认配置SYSCLK72MAPB1二分频→总线36M → 定时器时钟 36×2 72M特点配置在 SystemClock_Config全局生效影响该总线所有外设决定f_TIM定时器的输入时钟3. PSC预分频定时器内部专属分频作用对已经得到的 f_TIM 再次分频单独控制当前定时器CNT的增速。$$f_{CNT} \frac{f_{TIM}}{PSC1}$$特点只对当前定时器生效不影响其他外设只改PWM频率、CNT速度完全不改变分辨率、档位4. 终极对比表秒杀所有混淆对比项APB预分频PSC预分频所属模块RCC 系统时钟总线TIM 定时器内部控制对象整条总线所有外设当前定时器CNT速度是否×2F1自动判断倍频不倍频直接分频影响分辨率间接影响时钟源完全不影响修改位置系统时钟初始化定时器初始化5. 一句话终极贯通全文APB分频决定定时器能拿到多快的时钟PSC分频决定计数器跑多快ARR决定精度和周期CCR决定亮度速度。