stm32的寄存器版本的delay和库函数版本的delay延时时间不同呢

2019-07-20 09:47发布

最近在学习stm32F407这个开发板,是个正在入门的新手,每次编写直接用自带的工程模板来编写,但是发现一个问题,为什么同样是delay_ms(500)为什么寄存器版本写出来的程序运行起来,感觉延时了好久,而库函数版本就很正常。这是什么原因造成的呀?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
taizonglai
1楼-- · 2019-07-20 10:02
kimpa 发表于 2017-9-20 17:10
我发现一个区别就是例程里头多加了一个Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
我加了这个之后 ...

额,这个是设置系统时钟的!你不配置系统时钟,肯定会出错!库函数的库会帮你设置系统时钟,寄存的你要自己写代码设置。
taizonglai
2楼-- · 2019-07-20 13:41
 精彩回答 2  元偷偷看……
kimpa
3楼-- · 2019-07-20 17:01
 精彩回答 2  元偷偷看……
kimpa
4楼-- · 2019-07-20 17:44
zuozhongkai 发表于 2017-9-20 17:01
检查delay_init()函数是否调用,如果有参数的话参数是否正常

我发现一个区别就是例程里头多加了一个Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
我加了这个之后就正常了,为什么要加这个呀?
kimpa
5楼-- · 2019-07-20 20:40
zuozhongkai 发表于 2017-9-20 17:14
额,这个是设置系统时钟的!你不配置系统时钟,肯定会出错!库函数的库会帮你设置系统时钟,寄存的你要自 ...

哦哦哦哦,谢谢,新手啥都不懂
ForestLi
6楼-- · 2019-07-21 00:52
 精彩回答 2  元偷偷看……

一周热门 更多>