前言
在实际的ECU或者其他设备的开发中,很多任务需要分配固定周期去运行,给不同的任务分配不同的优先级,周期,通常周期越短的任务,优先级是越高的,以合理的分配任务,节省芯片资源。
定时器中断能够提供非常精确的定时控制,确保每次中断的时间间隔高度准确。这在需要周期性执行某个任务且对时间间隔要求很高的情况下尤为重要。例如,在工业控制中,定时器中断可以确保每隔固定的微秒或毫秒进行一次数据采集,从而保证数据的一致性和可靠性
原理
做过若干单片机的定时器开发,通常定时的功能需要依赖于单片机自带的定时器模块,定时器会对应到芯片内部寄存器,通常包含实时计数,中断溢出标志位,定时器复位值等等,定时器的计数周期依赖于时钟的大小,例如时钟每震荡一次,定时器的计数就+1,当加满达到溢出值时,就会触发中断。
由于泰凌微官方SKD基本是靠调库实现软件定时器的功能,而且部分函数看不到配置寄存器的过程,所以简单的讲一下原理:
如果挂载在定时器上的时钟为12MHZ,要实现1S钟定时,