STM32系统时钟从72MHZ改成36MHZ后 delay.c延时函数里面的delay_us和 delay_ms函数要做相应的改变吗,怎么改?

2019-10-14 21:22发布

STM32系统时钟从72MHZ改成36MHZ后 delay.c延时函数里面的delay_us和 delay_ms函数要做相应的改变吗,怎么改?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
xyz1015231411
2019-10-15 09:03
本帖最后由 xyz1015231411 于 2017-3-3 18:02 编辑

要怎么改呢?
void delay_init()         
{

#ifdef OS_CRITICAL_METHOD         //èç1ûOS_CRITICAL_METHOD
        u32 reload;
#endif
        SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);      
        fac_us=SystemCoreClock/8000000;      
         
#ifdef OS_CRITICAL_METHOD        
        reload=SystemCoreClock/8000000;                     
        reload*=1000000/OS_TICKS_PER_SEC;
                                                              
        fac_ms=1000/OS_TICKS_PER_SEC;           
        SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk;         
        SysTick->LOAD=reload;         
        SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;         
#else
        fac_ms=(u16)fac_us*1000;
#endif
}                                                                    

一周热门 更多>