找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机LED灯闪烁程序问题

查看数: 2712 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-11-9 21:26

正文摘要:

我把while(i--)改为while(i++),然后随意更改delay()中的数字,LED灯闪烁频率不变。为什么会这样?

回复

ID:838395 发表于 2020-11-12 11:56
别用while用delay函数来控制
ID:339654 发表于 2020-11-11 16:57
编写程序要考虑变量类型的范围,不然程序编译通过却运行出错
ID:841510 发表于 2020-11-10 14:16
感觉可以通过for来控制频率
ID:654028 发表于 2020-11-10 09:31
你i++最终会超过i的最大值,然后就会变成0,然后就退出了死循环。但是基本上不会这样写,不好计算
ID:391087 发表于 2020-11-9 22:51
U16最大值是65535,你可以软件仿真调试一下,里面有个sec时间可以知道延时时间对不对
ID:405193 发表于 2020-11-9 22:17
没有这样写的,一般delay 都是小数值,并且100000已经超出U16的范围了,大数值延时需要定时器来做。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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