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

2019-10-14 21:22发布

STM32系统时钟从72MHZ改成36MHZ后 delay.c延时函数里面的delay_us和 delay_ms函数要做相应的改变吗,怎么改?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-10-15 01:22
你保证:SystemCoreClock
准确就行了
augustedward
2楼-- · 2019-10-15 06:27
delay初始化要改
xyz1015231411
3楼-- · 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
}                                                                    
xyz1015231411
4楼-- · 2019-10-15 13:53
 精彩回答 2  元偷偷看……

一周热门 更多>