systick滴答定时器us延时和毫秒延时
systick滴答定时器us延时
一般会用滴答定时器产生1ms中断,
us延时使用的比较少,只有在很少的外设需要精确时序是才会使用,所以可以在某个ms周期内,使用us延时,确实会影响1ms中断的计时,但是us使用的少,不影响整个程序的功能。
//滴答定时器是一个24位的递减计数器void delay_us(int us) //1us延时
{int usT = 0 ;SysTick->VAL = SysTick->LOAD ; //恢复重装载值us = us*(SysTick->LOAD /1000) ;while(usT <= us){usT = SysTick->LOAD - SysTick->VAL ; //计算递减的数值}
}
keil调试时查看时间要想准确需要设置Debug