MDK5对stm32编程为啥延时函数一直没执行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MDK5对stm32编程为啥延时函数一直没执行?相关的知识,希望对你有一定的参考价值。
#include "sys.h"
是一个很简单的led灯闪烁的测试程序。。。。
#include "delay.h"
#include "led.h"
int main()
Stm32_Clock_Init(9);// ÉèÖÃϵͳʱÖÓ72M
led_init();
while(1)
led1=1;
led2=1;
delay_ms(500);
led1=0;
led2=0;
delay_ms(500);
led灯一直是亮的,没闪烁,就是延时函数没执行
把箭头中的方框内设置成相应的值即可。
参考技术A dalay——init初始化没执行 参考技术B 初始化的时候,LED是高还是低需要看一下 参考技术C 时间太短没看出来闪烁? 贴一下你的delay_ms函数 参考技术D 这个MDK没什么关系吧子函数什么的都贴出来看看呗
stm32在MDK环境下重新建工程,文件夹以及相应文件夹的文件都相同,但是不知道为啥编译完成后代码长度变长
stm32重建工程代码长度变长
可能是新建工程的时候MDK把默认的优化率给改变了。可以按以下操作修改编译器的优化率:
project->options for target->C/C++,那里有个optimization,level 0优化率最低,编译后代码最大,level 4优化率最大,代码最小,一般咱们选defualt默认即可。
ps:不过楼主要先确保您的MDK已经破解了,不然optimization这个选项是不可选的。 参考技术A 如果变动的不是特别多的话应该是没有问题的 编译器在编译的时候会对代码进行优化操作 可能编译的顺序不一样了 所以优化的方式也不一样了 导致代码长度有所变化本回答被提问者采纳
以上是关于MDK5对stm32编程为啥延时函数一直没执行?的主要内容,如果未能解决你的问题,请参考以下文章
最近刚入门stm32 我按原子教你玩stm32 用keil mdk5 直接用它给的文件创建工程,一直出错
在stm32中利用systick来延时,这阻塞了CPU吗? 执行到延时程序的时候,CPU就一直停在那里等待时间到达么?