前面已经找到了中断实现的大致方法,接下来我可以为我自己的定时中断的实现做一下准备了。一般做其他的单片机开发的时候,初期我通常会先实现这个一个功能好实现一点周期性的任务调度。这个功能在PowerPC平台就是PIT,在这里应该也是通过中断来实现了。
Atmega328PB的中断资源如下:
这个芯片一共有45个中断源,先不看啥功能,给人的感觉资源还是很丰富的。接下来,看一下几个计数器、定时器之类的介绍,看看适合用什么资源。
关于几个Timer的中断,再次梳理一下:
Timer0:3种中断
Timer1:4种中断
看得出,现在的两个Timer其实已经在功能上就有所不同了。
Timer2:3种中断,类似Timer0
Timer3:4种中断
这个功能与Timer1看上去是类似的。
Timer4:4种中断
与Timer1的功能类似。
这样,综合一下可以知道,这个单片机一共是有5个Timer(0~4)。其中0、3的功能类似,1、2、4的功能类似。
从手册中查看,计数器有8bit有16bit,继续看介绍,16bit的应该适合做调度实现的参考源合适一点。