进delay.c看函数体也没看明白,求教!
void delay_init(u8 SYSCLK)
{
#if SYSTEM_SUPPORT_OS //èç1ûDèòaÖ§3ÖOS.
u32 reload;
#endif
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
fac_us=SYSCLK/8; //2»ÂÛêÇ·ñê1óÃOS,fac_us¶¼Dèòaê1óÃ
#if SYSTEM_SUPPORT_OS //èç1ûDèòaÖ§3ÖOS.
reload=SYSCLK/8; //ÿÃëÖóμļÆêy′Îêy μ¥λÎaM
reload*=1000000/delay_ostickspersec; //¸ù¾Ydelay_ostickspersecé趨òç3öê±¼ä
//reloadÎa24λ¼Ä′æÆ÷,×î′óÖμ:16777216,Ôú168MÏÂ,Ô¼oÏ0.7989s×óóò
fac_ms=1000/delay_ostickspersec; //′ú±íOS¿éòÔÑóê±μÄ×îéùμ¥λ
SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk; //¿aÆôSYSTICKÖD¶Ï
SysTick->LOAD=reload; //ÿ1/delay_ostickspersecÃëÖD¶Ïò»′Î
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //¿aÆôSYSTICK
#else
fac_ms=(u16)fac_us*1000; //·ÇOSÏÂ,′ú±íÿ¸ömsDèòaμÄsystickê±Öóêy
#endif
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>