找回密码
 立即注册

QQ登录

只需一步,快速开始

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

实现单片机暂停在某个位置的问题

  [复制链接]
跳转到指定楼层
楼主
ID:708768 发表于 2021-6-8 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
除了使用中断,还有什么方法可以让单片机程序暂停在某个位置,当对应引脚电平发生变化后,再从暂停位置继续执行
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2021-6-8 11:09 | 只看该作者
可以通过引脚电平变化,引发外中断进而让单片机程序暂停在某个位置。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:824490 发表于 2021-6-8 11:40 | 只看该作者
while(key==1);

就这一条就可以了。没有按键时key高电平,则一直空转,有键下时,key=0,则跳出空转。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:342822 发表于 2021-6-8 11:40 | 只看该作者
循环等待判断引脚高或低时跳出循环体,从暂停位置继续执行

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:157057 发表于 2021-6-8 11:42 | 只看该作者
循环等待。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:451718 发表于 2021-6-8 11:58 | 只看该作者
单片机的运行,是不可能停止在程序的某一个位置。 除非是设定了一个死循环的节点,然后调节满足时,跳出这个死循环。 从而实现你想要的效果。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:849913 发表于 2021-6-8 19:44 | 只看该作者
  if(key==0)// 设置一个按键  按下按键一秒内松手就会暂停 再按 一次就继续运行了
         {
                 delay100ms(10);
                while(key);
                while(!key);
               
         }  
   
回复

使用道具 举报

8#
ID:931684 发表于 2021-6-8 20:33 | 只看该作者
可以设置标志位,如while(flag)
回复

使用道具 举报

9#
ID:935081 发表于 2021-6-8 20:56 | 只看该作者
循迹 避障 遥控小车
回复

使用道具 举报

10#
ID:935167 发表于 2021-6-8 23:53 | 只看该作者
循环。使用跳出就可以了
回复

使用道具 举报

11#
ID:609192 发表于 2021-6-9 14:39 | 只看该作者
以该引脚的电平作为循环条件即可
回复

使用道具 举报

12#
ID:609192 发表于 2021-6-9 14:39 | 只看该作者
以该引脚的电平作为循环条件即可
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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