找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机一个关于C语言延时程序的问题

[复制链接]
跳转到指定楼层
楼主
ID:718523 发表于 2020-7-15 08:33 来自触屏版 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在延时函数执行期间是不是其他的就都停止不执行了只会执行延时函数呢?比如下面这样的
......
//现在外部中断p1是0了
if (p1==0){delay(3000);}//3秒
if (p1==1){p2==0;}//在上句延时到2秒时p1变成1了
请问这个p2是在2秒时是0还是3秒呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:718523 发表于 2020-7-15 08:38 来自触屏版 | 只看该作者
还有个问题是消除抖动的按键需要那如果是电平触发也需要吗?
回复

使用道具 举报

板凳
ID:158375 发表于 2020-7-15 09:01 | 只看该作者
所谓延时(按你写的意思):什么都不干,等着,时间到了才说该干什么。
回复

使用道具 举报

地板
ID:612392 发表于 2020-7-15 09:17 | 只看该作者
3秒+几个机器周期的时间
回复

使用道具 举报

5#
ID:481313 发表于 2020-7-15 09:24 | 只看该作者
你的p2==0?这手误吧,P2=0
回复

使用道具 举报

6#
ID:789121 发表于 2020-7-15 09:27 | 只看该作者
3s,程序按顺序执行,如果想要触发执行,需要用中断
回复

使用道具 举报

7#
ID:548551 发表于 2020-7-15 09:35 | 只看该作者
对!!!   所以非特殊情况不要用延时,尤其在while(1)主函数里面.如果需要短暂延时的,可以用空指令NOP(); 这个不是延时,是空指令.
回复

使用道具 举报

8#
ID:282850 发表于 2020-7-15 09:43 | 只看该作者
除了Timer,这种延时是这样的。
回复

使用道具 举报

9#
ID:387120 发表于 2020-7-15 10:00 | 只看该作者
中断里不能延时。有中断先执行中断函数,回来再执行主程序的延时,主程序延时过程中,不会继续执行,等延时完在执行主程序下一行代码
回复

使用道具 举报

10#
ID:752280 发表于 2020-7-15 10:10 | 只看该作者
除了中断,其他是空等
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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