STM32 CCR寄存器

​1. CCR寄存器在输入捕获模式下的特性​

  • 只读属性 :
    当定时器通道配置为输入捕获模式(如捕获上升沿/下降沿)时,CCR寄存器硬件自动变为只读。软件写入操作无效,只能在捕获事件发生时由硬件自动更新为当前CNT值。
  • 硬件自动装载 :
    当指定的边沿(如PA8下降沿)触发捕获时,硬件自动将当前计数器值(CNT)写入CCR寄存器,并置位中断标志位(如TIM_IT_CC1)。

⚙️ ​2. 清零机制:硬件复位CNT计数器​

用户代码中通过主从模式实现了间接清零效果:

cpp 复制代码
TIM_SelectInputTrigger(TIM1, TIM_TS_TI1FP1);   // 选择PA8作为触发源
TIM_SelectSlaveMode(TIM1, TIM_SlaveMode_Reset); // 复位模式:PA8下降沿复位CNT
  • 工作流程 :
    1. PA8下降沿 → 触发硬件复位信号 → CNT计数器立即清零并重启计数。
    2. CCR1的值 :在中断中读取TIM1->CCR1时,实际是复位前CNT的值(即信号周期)。
    3. CCR2的值 :在PA9下降沿触发时,硬件捕获当前CNT值(即PA9与PA8的时间差)。

✅ ​关键点​:CCR寄存器存储的是捕获瞬间的CNT值,而CNT的清零由硬件自动完成,与CCR无关。


📥 ​3. 中断服务中的操作​

在中断函数中,​只需读取CCR值并清除中断标志,无需操作CCR寄存器:

cpp 复制代码
void TIM1_CC_IRQHandler(void) {
    if (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET) {
        Cycle = TIM1->CCR1;  // 读取周期值(CNT复位前的值)
        TIM_ClearITPendingBit(TIM1, TIM_IT_CC1); // 清除中断标志
    }
    if (TIM_GetITStatus(TIM1, TIM_IT_CC2) != RESET) {
        Phase = TIM1->CCR2;  // 读取相位差(PA9下降沿时的CNT值)
        TIM_ClearITPendingBit(TIM1, TIM_IT_CC2); // 清除中断标志
    }
}
  • 中断标志的作用 :
    仅表示"捕获事件已发生",清除后等待下次事件。
  • CCR值更新 :
    下一次捕获事件发生时,硬件自动覆盖CCR寄存器的值。

⚠️ ​4. 常见误区与注意事项​

​误区​ ​正确理解​
手动写CCR1=0 ❌ 输入捕获模式下无效,CCR只读。
CNT复位=CCR清零 ❌ CNT清零由硬件完成,CCR存储的是复位前的值。
不清除中断标志 ❌ 导致中断持续触发,CPU被阻塞。

💎 ​总结​

  • CCR清零机制 :通过TIM_SlaveMode_Reset在PA8下降沿硬件自动复位CNT,实现计数器的周期性清零。
  • CCR寄存器角色:只读存储单元,记录捕获瞬间的CNT值(周期或相位差)。
  • 软件操作 :仅需在中断中读取CCR值 + 清除中断标志,无需操作CCR寄存器。

🔍 ​验证方法 ​:在调试时监控TIM1->CNT和TIM1->CCR1,可观察到PA8下降沿时CNT被清零,而CCR1的值保持不变直至下次捕获。

相关推荐
HQB20268 小时前
EG1198|屹晶微电子 120V 内置 MOS 异步降压 DC‑DC(高性价比)
嵌入式硬件·硬件工程
果壳science10 小时前
张祥前实验如何获取正电荷
笔记·科技·嵌入式硬件·硬件工程·制造
南山电子nscn10 小时前
中科芯CETC汽车电池管理系统BMS进口芯片国产型号替代指南
单片机·汽车·bms
沉淀的.晴天10 小时前
can总线
stm32
桀人11 小时前
认识AT24C02
stm32·单片机·嵌入式硬件
国科安芯12 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
一直C12 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
传感器与混合集成电路12 小时前
150MHz主频、8路DAC与6路PWM:JLH221360伺服控制SIP解析
嵌入式硬件
comyccccc12 小时前
STM32PID控制板设计全解析学习笔记
单片机·嵌入式硬件
碧海银沙音频科技研究院13 小时前
实现炬芯ATS308X的usb cdc 串口IAP 固件升级功能实现
人工智能·嵌入式硬件·深度学习·算法