找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 3999 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-7-28 14:37

正文摘要:

为啥 上面的I=70时 i--  为640um 而下面的I++ i=5时  为5个毫秒??

回复

ID:524818 发表于 2019-7-29 08:28
对,delay1ms(1)是延时1ms,就是说 i + 一次用时1ms 共延时5ms,程序没错
ID:213173 发表于 2019-7-29 07:00
因为while(DSPORT)循环要等待5个1ms延时后跳出循环,在这里i++只是计算循环次数,其所占用CPU时间忽略。
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:332444 发表于 2019-7-28 19:12
这属于变量复用看到i-0了?难道没看到延时1ms的调用?

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

Powered by 单片机教程网

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