。。。咨询下SYSTICK配置...

2019-07-20 07:49发布



#if SYSTEM_SUPPORT_UCOS        //如果需要支持OS.
        u32 reload;
#endif  
        SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
        fac_us=SYSCLK/8;                                                //为系统时钟的1/8   
#if SYSTEM_SUPPORT_UCOS                                         //如果需要支持OS.
        reload=SYSCLK/8;                                                //每秒钟的计数次数 单位为K


请问要是外部25M, 是不是对应SysTick_CLKSource_HCLK_Div8 改为 SysTick_CLKSource_HCLK_Div1
fac_us=SYSCLK/25
reload=SYSCLK/25;

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
szczyb1314
1楼-- · 2019-07-20 10:22
 精彩回答 2  元偷偷看……
szczyb1314
2楼-- · 2019-07-20 11:41
不用,保持即可
borrow1988
3楼-- · 2019-07-20 16:33
szczyb1314 发表于 2018-6-4 12:25
SysTick_CLKSource_HCLK_Div8是对HCLK的8分频,fac_us代表额具体含义是指1us的情况下,SYSTick需要计数几次 ...

谢谢您回答,这意思是不是HCLK无论是168M,150MHZ,这里面都不用改??
szczyb1314
4楼-- · 2019-07-20 17:14
 精彩回答 2  元偷偷看……
borrow1988
5楼-- · 2019-07-20 21:31
szczyb1314 发表于 2018-6-4 14:30
嗯,核心就是fac_us代表的就是延时1us     SYStick定时器需要 计数的次数。fac_ms就是延时1ms    SYStick ...

还有个问题,原子systick 程序 没有设置 NVIC_SetPriority ,怎么进入的相关SysTick_IRQn中断
borrow1988
6楼-- · 2019-07-20 23:04
szczyb1314 发表于 2018-6-4 14:30
嗯,核心就是fac_us代表的就是延时1us     SYStick定时器需要 计数的次数。fac_ms就是延时1ms    SYStick ...

看错了 ,NVIC_SetPriority是设置优先级。。

一周热门 更多>