• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

红外遥控应用

PG_CPZ 2018-08-18 浏览量:799
我想用红外遥控器给我的main函数加一个暂停键,怎么加?
就是main中运行其他命令,当检测到5被按下,停止,再次按下5继续回到main函数原来位置继续运行。
main函数就好像看电影一样,咱遥控器按个暂停键他就停止了,咱再按暂停键他又开始在原来停止的地方播放了。
这个怎么编呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1、首先你要知道遥控器红外编码规则,你能正确解析遥控器的按键。

     (解析遥控器的按键,最好放在定时器中断里面做,采用循环扫描的方式,尽量保证定时器快进快出)


    2、检测到按键5按下 FLAG^=0X01;  在中断函数里里面

    3、在主循环中
      while(1)

        //......
        if(FLAG==0x01)
        {
           while(1);  //死等
         }



    • 发布于 2018-08-18
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:11
  • 这个其实很简单的,但是必须要用到中断,你可以设置一个外部中断,然后在外部中断中加入状态机,让程序跳出
    • 发布于2018-08-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 采用外部中断,检测触发后进入一直判定状态(暂停状态),再次触发(开始继续状态)
    • 发布于2018-08-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 检测到按键  --》进中断  --》检测到按键 -->出中断       就可以了
    • 发布于2018-08-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 在main中读取红外的数据,选出后,在判断是什么值,如果要暂停就whilt(1)
    • 发布于2018-08-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要通过标志位判断按键值,然后用while这个标志位暂停和运行程序

    • 发布于2018-08-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 最好是用标准位来判断按键的值,再通过while来控制标志位的暂停和运行程序
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用定时器输入捕获检测红外按键的输入,单片机解码的过程封装成一个函数,在main函数循环调用,当检测到特定按键输入的时候执行你说的暂停功能。

    • 发布于2018-08-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接用现在的程序里面加一个按键的状态和ID,读取ID进行识别
    • 发布于2018-09-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 要用外部中断进行检测,然后读取按键的信号并进行触发
    • 发布于2018-09-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

红外遥控应用