初级会员

- 积分
- 59
- 金钱
- 59
- 注册时间
- 2016-5-29
- 在线时间
- 12 小时
|
1金钱
本帖最后由 壁虎 于 2016-5-29 13:35 编辑
跑马灯实验是我在32平台上的第一个程序。按照老师的视频,库函数版本很轻松的就完成了。在进行 寄存器版本 的实验时,我使用的是 寄存器新建工程模板 而没有按照视频的要求使用库函数新建工程模板。
按照视频将程序编写完后,LED闪烁时间明显加长。随后我与资料提供的标准 寄存器版本 跑马灯程序进行了对比,发现头文件有区别,同时少写了一句“Stm32_Clock_Init(336,8,2,7);”函数。加上后,程序运行正常。
结合以前的单片机开发经验,我对源码文件夹里的库函数和寄存器版的两个跑马灯程序进行了对比。发现,库函数没有设置时钟就可以正常delay,而寄存器需要进行时钟设置才可以正常delay。这里很不理解。
希望老师、同学们能一起讨论下。
附上两张库函数和寄存器版本的源代码程序。寄存器版的时钟被注释掉后,delay的时间明显加长。
|
最佳答案
查看完整内容[请看2#楼]
库函数版本的时钟初始化在main函数之前隐式调用了,所以无需显式调用时钟初始化函数。教程里都有,自己看仔细点。
|