前面一篇文章我详细介绍了LPC2214的定时器相关寄存器设置。这里详细分析下定时器发生匹配中断时内部的时序。
下图所示为定时器在匹配时复位计数并产生中断,预分频器值是2,匹配寄存器值为6。在发生匹配的定时器周期结束时,定时器计数器复位。这样就使匹配值具有完整长度的周期。指示匹配发生的中断在定时器到达匹配值的下一个时钟产生。
如上图所示,PR=2,所以每3个pclk周期定时器计数器加1,预分频计数器和定时器计数器都是在PCLK时钟的上升沿加1,匹配寄存器值为6,当定时器计数器的值增加到6后的下一个pclk时钟上升沿产生中断。在发生匹配的定时器周期结束时,定时器计数器复位。也就是在上图定时器计数器计数到第7次时,复位,定时器计数器从6变为0。如果要定时21个PCLK周期,预分频器值为2,匹配寄存器值应为6,而不是7。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
定时器第一次产生中断是在第20个PCLK周期(PCLK周期个数从1算起)的上升沿,比实际的21个PCLK周期差不多少了2个PCLK周期。但是下一次的中断是在第41个PCLK周期的上升沿,也就是2次中断的时间刚好是21个PCLK周期。
文章评论(0条评论)
登录后参与讨论