This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430f5324 timer周期与最小定时中断怎么协调?

想要设置周期1s,但是1s内依次在100us,120us,140us处触发定时中断,周期内不想用延时的方式占用cpu

目前的想法是smclk=1m,定时器先4分频再5分频到50k,这样1tick=20us,16位定时器50000*20us=1s,这样可以勉强实现定时中断和周期时间

但是定时器1tick就进一个中断,定时的时间很不准。大时间周期和小时间中断怎么处理呢?

请问有推荐的方案吗?

  • 您可以设置一个变量,定时器每次计数中断之后变量加一,累加到一定时间,软件确认是否达到定时。

    另外您可以尝试使用不同的Timer,它们是互相独立运行的,互不干扰,这样就可以实现不同的定时时间。
  • 这个mcu的定时器资源还是很丰富的,楼主可以充分利用起来。

    • 具有 5 个捕捉/比较寄存器的 16 位计时器 TA0,Timer_A

    • 具有 3 个捕捉/比较寄存器的 16 位计时器 TA1,Timer_A

    • 具有 3 个捕捉/比较寄存器的 16 位计时器 TA2,Timer_A

    • 具有 7 个捕捉/比较影子寄存器的 16 位计时器 TB0,Timer_B