cube mx使用

📅 2026/7/2 8:13:06
cube mx使用
时钟树PWM一、Counter Settings计数器核心设置这部分决定定时器计数速度、PWM 周期、计数方向是 PWM 的基础框架。配置项当前值含义与作用Prescaler (PSC - 16 bits value)639预分频器定时器的输入时钟这里是 64MHz会经过 PSC 分频后才供给计数器计数。实际分频系数 PSC 1 640计数器最终计数频率 64MHz ÷ 640 100kHz也就是每 10μs 计数器数值 1。16 位代表取值范围 0~65535。Counter ModeUp计数模式向上计数。计数器从 0 开始往上累加加到 ARR 的值就溢出清零重新开始计数同时产生一次「更新事件」。这是做 PWM 最常用的模式另外还有向下计数、中央对齐模式。Counter Period (AutoReload Register, ARR)99自动重装载值决定 PWM 的周期长度。一个完整周期的计数总步数 ARR 1 100 步结合 100kHz 的计数速度PWM 周期 100 × 10μs 1ms对应频率 1kHz。这个值同时决定了占空比的分辨率你这里 100 步对应 0%~100%每 1 步就是 1% 占空比。Internal Clock Division (CKD)No Division内部时钟分频给定时器的输入捕获滤波器、死区生成电路提供分频时钟普通 PWM 输出用不到保持默认不分频即可。auto-reload preloadEnable自动重装载预装载使能可以理解为「双缓冲」。开启后你代码里修改 ARR 的值不会立刻生效要等当前计数周期结束计数器溢出才会更新到硬件寄存器生效。好处是修改 PWM 周期时不会出现半截的异常脉冲波形平滑稳定。你之前问的「改 ARR 什么时候生效」就是由这个开关控制的。二、Trigger Output (TRGO) Parameters触发输出设置这部分是让定时器作为「主设备」给其他外设比如 ADC、DAC、其他定时器输出同步触发信号用的。你做 PWM 控制 LED 完全用不到这部分保持默认即可简单了解配置项当前值含义Master/Slave Mode (MSM bit)Disable主从模式开关关闭时触发输入无延迟普通 PWM 场景不用开。Trigger Event SelectionReset选择「什么事件会产生 TRGO 触发输出」。这里选 Reset 代表「计数器溢出 / 软件复位」时输出触发信号。三、PWM Generation Channel 1通道 1 PWM 输出设置这是 PWM 输出的核心通道配置直接决定占空比、有效电平、输出模式。配置项当前值含义与作用ModePWM mode 1PWM 模式 1最常用的 PWM 模式。结合向上计数规则是计数器CNT CCRPulse值→ 输出有效电平计数器CNT ≥ CCRPulse值→ 输出无效电平对应的 PWM 模式 2 是反过来的一般都用模式 1。Pulse (16 bits value)50脉冲值CCR 捕获比较寄存器直接决定占空比。占空比 Pulse ÷ (ARR1) 50 ÷ 100 50%取值范围 0~65535实际有效范围是 0 ~ ARR1- 设为 0 → 0% 占空比全程无效电平- 设为≥100 → 100% 占空比全程有效电平Output compare preloadEnable输出比较预装载使能和 ARR 的预装载原理一致。开启后你代码里修改 CCR占空比要等当前周期结束才生效。这就是你呼吸灯渐变平滑、没有肉眼可见抖动的核心原因 —— 不会在计数中途突变电平。Fast ModeDisable快速模式用来加快 CCR 影子寄存器的更新速度普通 PWM 输出用不到保持关闭即可。CH PolarityHigh通道极性定义「什么电平是有效电平」。- High高电平是有效电平 → CNTCCR 时输出高电平- Low低电平是有效电平 → CNTCCR 时输出低电平如果你的 LED 是共阳极接法低电平点亮把这里改成 Low就可以实现「CCR 数值越大灯越亮」的直观逻辑。频率1kHz周期 1ms占空比50%高电平 500μs低电平 500μs有效电平高电平修改占空比 / 周期时都会在当前周期结束后平滑生效无毛刺非常适合用来做 LED 呼吸灯频率远高于人眼闪烁阈值渐变平滑。ADC配置项当前值含义与作用Data Alignment 数据对齐Right alignment 右对齐12 位 ADC 的转换结果存在 16 位的寄存器里需要决定数据在寄存器里的位置。-右对齐默认最常用有效数据靠低位对齐直接读寄存器就能得到 0~4095 的数值无需额外移位处理。- 左对齐有效数据靠高位对齐读出来需要右移 4 位才是真实值仅特殊场景使用。Scan Conversion Mode 扫描模式Disabled 关闭控制是否按顺序采集多个通道。- 关闭只采集 1 个通道适合你当前单路光敏电阻的场景。- 开启ADC 会按设定的顺序依次采集多个通道一般配合 DMA 使用比如同时采集温度、电压、光敏多路信号。Continuous Conversion Mode 连续转换模式Disabled 关闭控制 ADC 转换是否自动循环。- 关闭单次模式触发一次只转换 1 次就停止下次采集需要重新触发适合低频、按需采集的场景比如每秒读一次光敏值。- 开启转换完一次后自动立刻开始下一次一直循环不停配合 DMA 可以实现不间断自动采集适合高频连续采样。Discontinuous Conversion Mode 不连续转换模式Disabled 关闭仅配合扫描模式使用作用是把多个通道分成若干小组每次触发只采集其中一组。单通道采集完全用不上保持关闭即可。配置项当前值含义与作用Enable Regular ConversionsEnable 开启规则通道组的总开关开启后才能使用规则通道进行采集。Number Of Conversion 转换通道数1规则组里要采集的通道总数。你当前只接了 1 路光敏所以设为 1。如果要采多路这里设对应数量扫描模式也会自动开启。External Trigger Conversion 外部触发源Regular Conversion launched by software 软件触发ADC 转换的启动方式- 软件触发代码里手动调用函数比如HAL_ADC_Start()来启动转换最基础、最容易理解。- 其他触发定时器触发、外部引脚触发等用来实现定时自动采集不用 CPU 手动干预。Rank 采集顺序1多通道扫描模式下的采集优先级 / 顺序Rank 1 表示第一个被采集。单通道场景下固定为 1无需修改。配置项当前值含义与作用Enable Injected ConversionsDisabled 关闭注入通道组的总开关。普通单片机开发、传感器采集基本用不到注入通道它主要用在电机控制、电力电子等需要紧急打断采样的专业场景保持关闭即可。配置项当前值含义与作用Enable Analog WatchDog未勾选关闭开启后可以设定高低电压阈值当 ADC 采集的电压超出阈值范围时硬件会自动触发中断不用 CPU 一直轮询判断。适合做过压 / 欠压保护、超限报警普通光敏控制 LED 的场景用不上保持关闭即可。