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

一个MCU按键如何实现 长按开机 和 长按关机?

4077a70e0304899b 2020-07-27 浏览量:1487
如何使用单独按键  长按开机  长按关机
长按开机是用外部中断唤醒
如何在按键按下进入外部中断得时候 到2秒才执行唤醒求大佬给一些代码看看,这个卡了一天时间了,
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这里有两种方案

    1、软件实现,通过外部IO触发中断唤醒,然后MCU进行计时,不到2s就不响应,继续进入休眠模式

    2、硬件实现,外部加个比较大的电容,到2s,才产生对应的高电平

    • 发布于 2020-07-31
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 可以用定时器加外部中断实现,按键触发中断,中断开启定时器,抬起按键的时候停止定时器,定时器里面需要用累加计数变量防止溢出,这样就可以计算出按键按下时间来判断长短
    • 发布于2020-07-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果实现按下2s才开机的话是需要唤醒之后做定时器操作的,唤醒之后计时2s并且在这个计时过程中判断中断引脚的IO口的状态,如果2s以内就松开了的话就再次进入休眠模式,2s之后都没有松开就执行唤醒之后的逻辑或者看门狗复位唤醒
    • 发布于2020-07-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 先有个初始状态,开机时是一个状态,当按下按键,用定时器计时,达到一定时间,认为是关机操作;开机反之,总之要结合定时器计时、中断,有一个状态变量来做。

    • 发布于2020-07-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 这里的开关机并不是硬开关机,其实CPU还是在运行的,只是进入了低功耗,其实还是在测按键的时间长短的
    • 发布于2020-08-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

一个MCU按键如何实现 长按开机 和 长按关机?