systick函数时间不对

2019-07-20 23:40发布

情况是这样的,网上买了一个f4的最小开发板打算玩玩,刚刚做测试的时候发现systick的时间间隔似乎不对


        SysTick_Config(SystemCoreClock / 1000);
        SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);

void SysTick_Handler(void){if(Delaytime)Delaytime--;}//systick


这是最简单的一个设置,照道理来说应该是1ms一次,但是我从1000减到0却用了差不多3.5s左右(手机秒表掐的),确认过时钟为168000000,外部8M也没错,第一次注意到这种情况,是我忽略了哪里么
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
xkwy
1楼-- · 2019-07-21 03:05
1. 有一个宏,HSE_VALUE,默认是25MHz,要改成你板子上的晶振大小;
2. 使用SystemCoreClock 前,最好先调用SystemCoreClockUpdate()函数刷新一下它。
止天
2楼-- · 2019-07-21 06:25
 精彩回答 2  元偷偷看……
jimmjimm
3楼-- · 2019-07-21 07:14
xkwy 发表于 2016-2-25 20:52
1. 有一个宏,HSE_VALUE,默认是25MHz,要改成你板子上的晶振大小;
2. 使用SystemCoreClock 前,最好先调 ...

的确是这个问题......太久没用了已经忘光了,忘记还要刷新,非常感谢

一周热门 更多>