void delay_init(u8 SYSCLK)
{
#ifdef OS_CRITICAL_METHOD //èç1ûOS_CRITICAL_METHOD¶¨òåáË,ËμÃ÷ê1óÃucosIIáË.
u32 reload;
#endif
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
fac_us=SYSCLK/8; //2»ÂÛêÇ·ñê1óÃucos,fac_us¶¼Dèòaê1óÃ
#ifdef OS_CRITICAL_METHOD //èç1ûOS_CRITICAL_METHOD¶¨òåáË,ËμÃ÷ê1óÃucosIIáË.
reload=SYSCLK/8; //单位为K?
reload*=1000000/OS_TICKS_PER_SEC;//¸ù¾YOS_TICKS_PER_SECé趨òç3öê±¼ä
//reloadÎa24λ¼Ä′æÆ÷,×î′óÖμ:16777216,Ôú168MÏÂ,Ô¼oÏ0.7989s×óóò
fac_ms=1000/OS_TICKS_PER_SEC;//′ú±íucos¿éòÔÑóê±μÄ×îéùμ¥λ
SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk; //¿aÆôSYSTICKÖD¶Ï
SysTick->LOAD=reload; //ÿ1/OS_TICKS_PER_SECÃëÖD¶Ïò»′Î
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //¿aÆôSYSTICK
#else
fac_ms=(u16)fac_us*1000;//·ÇucosÏÂ,′ú±íÿ¸ömsDèòaμÄsystickê±Öóêy
#endif
}
红 {MOD}字体的单位为什么为K?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>