OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2748|回复: 5

while循环之外的延时,以及解决方法

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2020-3-27
在线时间
4 小时
发表于 2020-4-2 14:30:28 | 显示全部楼层 |阅读模式
2金钱
经过一周学习之后终于从啥都不会把一个模块大致跑通了,就是一个很基本的STM32+ESP8266+DHT11给thingsboard发数据。但是遇到了一个问题,我在init阶段通过串口给esp8266发送AT指令的时候发的太快了。。。他应对不过来很正常的想要用delay做延时,但是为什么while(1)之外的延时没有起作用呢(我是在时钟和dalay_init之后调用的delay_ms函数。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

412

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2711
金钱
2711
注册时间
2019-8-14
在线时间
414 小时
发表于 2020-4-2 15:14:45 | 显示全部楼层
回复

使用道具 举报

1

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2872
金钱
2872
注册时间
2018-1-24
在线时间
258 小时
发表于 2020-4-3 08:51:17 | 显示全部楼层
延时太短或者没有开中断造成
回复

使用道具 举报

34

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
912
金钱
912
注册时间
2019-7-5
在线时间
189 小时
发表于 2020-4-3 08:52:26 | 显示全部楼层
是你看不出来而已吧,你可以试试这样写
LED = 0;
delay_ms(1000);
LED = 1;
delay_ms(1000);
LED = 0;
while(1)
{
}
你看看灯会不会闪一下就知道有没有用了
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2020-3-31
在线时间
5 小时
发表于 2020-4-3 09:59:49 | 显示全部楼层
while(1)是无限循环呀,你不主动跳出这个循环,程序就一直在这个循环里面跑的
回复

使用道具 举报

10

主题

161

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2019-9-5
在线时间
134 小时
发表于 2020-4-3 18:42:47 | 显示全部楼层
while(1)是死循环,你没有break出不来的,再死循环外面加延时函数怎么起作用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 16:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表