找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于单片机程序运行和中断处理的疑惑

[复制链接]
楼主
ID:47286 发表于 2018-11-28 15:04 | 显示全部楼层
不能这么写吧 while会造成死等

如果 按键按下
并且 清零标记=0(防止反复清零计数器)
{
  如果 清零标记=0
  置位 清零标记
  清零 计数器变量(清零后累加的时间即按键按下的时间)
}

如果 清零标记=1
{
  如果 按键松开
{
   比较计数器值
  {
     如果 计数器<设定值
     {短按}
     否则
    {长按}
    清零 清零标记(可以再次清零)
   }
}
}

大概的逻辑顺序 用for和while的延时基本都是死等 会影响其它步骤工作 尤其是程序写大了 尽量养成少用这种方法的习惯吧 这方法多是初学为了容易理解 或者在不重要的地方做很短的延时才会用 你这成秒的等通常不这么搞
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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