使用UCOS时,在delay_init()函数中有滴答定时器的初始化程序,如下。
查看M4手册,发现 Sys
tick->LOAD 的写入值应该是tick-1, 而这里写入SysTick->LOAD时并没有减1,为啥呢。
reload=SystemCoreClock/8000000;
reload*=1000000/delay_ostickspersec;
fac_ms=1000/delay_ostickspersec;
SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk;
SysTick->LOAD=reload;
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;