代码之家  ›  专栏  ›  技术社区  ›  Ali K.

定时器1-Atmega32中的“OCR1x更新”是什么意思

  •  0
  • Ali K.  · 技术社区  · 6 年前

    在查看atmega32的数据表、定时器1、操作模式时 check the highlighted column in the image i added here

    我不明白“更新”是什么意思(在图片中突出显示)。

    不能在运行时或其他地方更改??

    1 回复  |  直到 6 年前
        1
  •  0
  •   Delta_G    6 年前

    我正在查看328P的数据表的第16.9节。19.9.1将正常模式列为所有3位0,即图表中的顶行。它说,在正常模式下,计数总是向上,并从顶部溢出回到零。TOP总是在计数器的最大值。这是最简单的模式。在该模式下,最大值是OxFFFF(计数器的最大值),并且在与比较寄存器匹配时立即更新PWM引脚。溢出标志设置为MAX,该计时器的值为0xFFFF。

    它还描述了CTC模式,在该模式下,用一个寄存器设置最高值。然后描述了不同的PWM模式以及它们如何使用TOP和BOTTOM以及何时更新。在这个答案上我真的无法复制。

    再举一个例子,看看模式1。这是一种相位校正模式,根据16.9.4节,这意味着计数器从下到上计数,然后再向下计数。看起来在模式1中,最大值是0x00FF,所以它是一个8位计时器。它会在顶部(和比较匹配处)更新pin。如果你读了这一节,它解释了如何影响脉宽调制脉冲。它还说它在底部设置了溢出标志,这很有意义,因为这是计时器的一个完整周期。

    推荐文章