FAQSTM CMP值更新

STM模块CMP值和CNT匹配则生成中断中断,CNT是从0x0~0xffffffff增加的即使某个通道发生匹配也不会重置为0,那么STM通道是如何实现周期性中断的呢?
更新时间:2022.03.07 浏览量:0

如图,从RTD的实现可得CMP赋值的方式:

l  初始化通道计数,设定CMP值为当前CNT+定义值

l  中断处理,即CMP匹配了CNT后,设定CMP = 上一个CMP+定义值

例子:定义一个10ms周期中断,STM时钟源80MHz,预分频系数4,即计数器时钟源为20MHz,那么定义值则为10000 ? 1/20 = 200000,假设初始化时CNT = 100,那么此时设定CMP200100,第一次中断时,CMP设定值为400100.

  • 上一篇:SAI模块Mux Mode解释
  • 下一篇:通过MemMap.h和宏定义变量存储在指定Ram位置,不成功