找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3673|回复: 4
打印 上一主题 下一主题
收起左侧

51单片机延时函数用法问题

[复制链接]
跳转到指定楼层
楼主
为啥 上面的I=70时 i--  为640um
而下面的I++ i=5时  为5个毫秒??

QQ图片20190728143550.png (24.49 KB, 下载次数: 40)

QQ图片20190728143550.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:332444 发表于 2019-7-28 19:12 | 只看该作者
这属于变量复用看到i-0了?难道没看到延时1ms的调用?
回复

使用道具 举报

板凳
ID:511461 发表于 2019-7-28 19:25 | 只看该作者
上面的i=70时,i--是642us,是因为i每减一次,时间大约是10us,实际上你仿真一下,时间是小于10us,而i=70,时间是小于700us的,大概是642us;
下面的i=5时,i++,是由于前面有一个Delay1ms(1),每执行一次,延时一毫秒,总共程序执行了5次,延时5毫秒。
回复

使用道具 举报

地板
ID:213173 发表于 2019-7-29 07:00 | 只看该作者
因为while(DSPORT)循环要等待5个1ms延时后跳出循环,在这里i++只是计算循环次数,其所占用CPU时间忽略。
回复

使用道具 举报

5#
ID:524818 发表于 2019-7-29 08:28 | 只看该作者
对,delay1ms(1)是延时1ms,就是说 i + 一次用时1ms 共延时5ms,程序没错
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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