想要设置周期1s,但是1s内依次在100us,120us,140us处触发定时中断,周期内不想用延时的方式占用cpu
目前的想法是smclk=1m,定时器先4分频再5分频到50k,这样1tick=20us,16位定时器50000*20us=1s,这样可以勉强实现定时中断和周期时间
但是定时器1tick就进一个中断,定时的时间很不准。大时间周期和小时间中断怎么处理呢?
请问有推荐的方案吗?
Susan Yang:
您可以设置一个变量,定时器每次计数中断之后变量加一,累加到一定时间,软件确认是否达到定时。
另外您可以尝试使用不同的Timer,它们是互相独立运行的,互不干扰,这样就可以实现不同的定时时间。
灰小子:
回复 Susan Yang:
这个mcu的定时器资源还是很丰富的,楼主可以充分利用起来。
• 具有 5 个捕捉/比较寄存器的 16 位计时器 TA0,Timer_A
• 具有 3 个捕捉/比较寄存器的 16 位计时器 TA1,Timer_A
• 具有 3 个捕捉/比较寄存器的 16 位计时器 TA2,Timer_A
• 具有 7 个捕捉/比较影子寄存器的 16 位计时器 TB0,Timer_B