智能车制作

标题: [单片机] 让K60芯片上的小灯翻转,但是写的简单的延时却没用 [打印本页]

作者: 朱momo    时间: 2017-11-25 12:40
标题: [单片机] 让K60芯片上的小灯翻转,但是写的简单的延时却没用
小灯只是变暗,调试时也看不见for循环出现啊,这是为什么,是不是还要开启什么时钟模块啊?拜托拜托啦![attach]91623[/attach]
[attach]91624[/attach]



作者: aytc100    时间: 2017-11-25 12:53
变暗是因为闪得太快,你写的函数被优化干掉啦。
建议调用标准的systick定时器进行延时
作者: 朱momo    时间: 2017-11-25 13:04
aytc100 发表于 2017-11-25 12:53
变暗是因为闪得太快,你写的函数被优化干掉啦。
建议调用标准的systick定时器进行延时

所以写低级的for循环延时基本上都是没有用的是吗
作者: aytc100    时间: 2017-11-25 16:30
朱momo 发表于 2017-11-25 13:04
所以写低级的for循环延时基本上都是没有用的是吗

你得在编译优化那里开例外,或者直接不优化,才可以。

作者: k1060382101    时间: 2017-11-25 19:41
250*250*250约等于16M,你的K60就算是100M的速度吧那闪的频率也不算慢吧,变量都是int型,设定的数设大点啊
作者: 山外メ雲ジ_VCAN    时间: 2017-11-26 12:17
k1060382101 发表于 2017-11-25 19:41
250*250*250约等于16M,你的K60就算是100M的速度吧那闪的频率也不算慢吧,变量都是int型,设定的数设大点啊

主要是无意义循环,被编译器优化了,相当于while循环没有任何延时,循环闪烁

作者: k1060382101    时间: 2017-11-26 14:09
[quote][url=forum.php?mod=redirect

原来如此,学到了

作者: 朱momo    时间: 2017-11-26 17:31
aytc100 发表于 2017-11-25 16:30
你得在编译优化那里开例外,或者直接不优化,才可以。

我知道了,谢谢大佬哈

作者: 朱momo    时间: 2017-11-26 17:33
山外メ雲ジ_VCAN 发表于 2017-11-26 12:17
主要是无意义循环,被编译器优化了,相当于while循环没有任何延时,循环闪烁

理解了,谢谢山外哥哈!

作者: susutoptom    时间: 2017-11-29 18:19
涨姿势啊。




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2