ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
当启用影子比较来更新捕获/比较寄存器 (TIMx.CC) 时,写入相应比较寄存器的值将首先存储到影子比较寄存器中,然后在发生通过设置 TIMx.CCCTL_xy[0/1].CCUPD 位配置的不同事件时传输到比较寄存器。
此外,捕获/比较操作寄存器 (TIMx.CCACT) 能够在发生通过设置 TIMx.CCCTL_xy[0/1].CCACTUPD 位配置的不同事件时更新操作。
表 24-16 展示了用于配置在发生不同事件时影子比较和操作何时发生的设置。
| 位域 | 值 | 说明/注释 |
|---|---|---|
| CCUPD /CCACTUPD | 0 | 写入 TIMx.CC 寄存器的值立即生效。 |
| 1 | 写入 TIMx.CC 寄存器的值存储在影子比较寄存器中,并在发生归零事件后的 TIMCLK 周期内传输到 TIMx.CC 寄存器(TIMx.CTR 值等于 0)。 | |
| 2 | 写入 TIMx.CC 寄存器的值存储在影子比较寄存器中,并在发生比较(递减)事件后的 TIMCLK 周期内传输到 TIMx.CC 寄存器(TIMx.CTR 值等于 TIMx.CC) | |
| 3 | 写入 TIMx.CC 寄存器的值存储在影子比较寄存器中,并在发生比较(递增)事件后的 TIMCLK 周期内传输到 TIMx.CC 寄存器(TIMx.CTR 值等于 TIMx.CC)。 | |
| 4 | 写入 TIMx.CC 寄存器的值存储在影子比较寄存器中,并在发生归零事件或加载事件后的 TIMCLK 周期内传输到 TIMx.CC 寄存器(TIMx.CTR 值等于 0 或 TIMx.CTR 等于 TIMx.LOAD)。 注意:此更新机制仅用于向上/向下计数模式。 | |
| 5 | 写入 TIMx.CC 寄存器的值存储在影子比较寄存器中,并在发生归零事件且重复计数等于零后的 TIMCLK 周期内传输到 TIMx.CC 寄存器(TIMx.CTR 值等于 0 且 TIMx.RC 等于 0)。 | |
6 | 写入 TIMx.CC 寄存器的值存储在影子比较寄存器中,并在触发脉冲后的 TIMCLK 周期内传输到 TIMx.CC 寄存器。 请参阅节 24.2.7。 |
图 24-25 展示了影子加载和影子比较如何在向上/向下计数模式下针对 TIMx.LOAD 和 TIMx.CC 值在发生归零事件时生效的示例。