SysTick时钟为HCKL的8分频,故如果HCLK时钟为72MHz,SysTick->LOAD的值为7200的话,则SysTick 1ms中断 一次。如果屏蔽全局中断的话,则STSTICK不能这用。
---------------------------------------------------------------------------------------------------- 例: //SysTick 配置 if (SysTick_Config(SystemFrequency / 1000))// (72MHz/1000)*SYSCLK=1MS {
while (1); } ---------------------------------------------------------------------------------------------------- //具体应用 volatile u16 Timer1; void SysTickDelay(u16 dly_ms) { Timer1=dly_ms; while(Timer1); } ---------------------------------------------------------------------------------------------------- 中断函数
void SysTick_Handler(void) { if(Timer1) Timer1--; } |
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』