用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.3 SysTick->VAL当前值寄存器可读可写,当计数器使能时,这个寄存器的值开始递减,使用前后注意清零三、SysTick逻辑图关闭计数器
}
更多详细资料,请坛友们参考《Cortex M3与M4权威指南》。