请问delay_init(168); //初始化延时函数 中168有什么用?

2019-07-20 19:57发布

进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
}       

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。