用ARM的SysTick计算器实现延时的具体方法
一、概述:
SysTick是一个简单的递减24位计数器 如果你不需要再应用程序中嵌入操作系统,SysTick可以作为简单的延时和产生周期性的中断; 状态控制寄存器的第0位可以使能计数器,current value register(当前值寄存器)随着时钟一直递减,当他减到0的时候,重装载寄存器(reload value register)就会重新装载这只的值,计数器继续从这个值递减二、相关寄存器:
2.1 SysTick->CTRL 状态和控制寄存器 位16:当前值寄存器递减到0,位16置1 位2:时钟源选择位 0:使用外部参考时钟 1:使用内核时钟 位1:使能SysTick中断,当前值寄存器递减到0时产生中断 位0:SysTick时钟使能2.2 SysTick->LOAD 重装载值寄存器
当前值寄存器为0时,自动将重装载值重装到当前值计数器,重装载值的大小需要自己设置 2.3SysTick->VAL当前值寄存器 可读可写,当计数器使能时,这个寄存器的值开始递减,使用前后注意清零 三、SysTick逻辑图关闭计数器
}
更多详细资料,请坛友们参考《Cortex M3与M4权威指南》。