搜索

多重睡眠唤醒问题

[复制链接]
1519|9
手机看帖
扫描二维码
随时随地手机跟帖
renyaq|  楼主 | 2021-7-3 19:09 | 显示全部楼层 |阅读模式
程序走到第一个SLEEP休眠,按键唤醒,然后设置看门狗定时模式,紧接着再次SLEEP(),发现第二个休眠会直接跳出。
程序大致如下
SLEEP();
nop();
nop();
while(flag0==1)//按键唤醒标志位
{
LED=1;
WDTCON=0B00011011;//8S定时,看门狗定时开
SLEEP();
NOP();
LED=0;
__delay_ms(100);
}

灯泡会闪,但起作用的是delay函数。

使用特权

评论回复
午夜粪车| | 2021-7-3 19:13 | 显示全部楼层
flag0在中断时置1?

使用特权

评论回复
dingy| | 2021-7-3 19:15 | 显示全部楼层
入中断后,要读一次IO ,清中断标致。有中断标致,PIC不会进入sleep

使用特权

评论回复
juventus9554| | 2021-7-3 19:16 | 显示全部楼层
对,我是用电平变化唤醒第一个SLEEP,然后flag0置1,就一直循环在while(flag0)中。我不太明白在中断里,读I/O口是什么意思?

使用特权

评论回复
stly| | 2021-7-3 19:17 | 显示全部楼层
5850560e0472a7bc9f.png

使用特权

评论回复
renyaq|  楼主 | 2021-7-3 19:19 | 显示全部楼层
读I/O口就是读I/O口的电平状态,比如movf  PORTB ,W  既把PORT口的状态读取一遍

使用特权

评论回复
zyf部长| | 2021-7-3 19:21 | 显示全部楼层
按键会产生很多脉冲的,所以会出现这样的问题

使用特权

评论回复
lizye| | 2021-7-3 19:23 | 显示全部楼层
按键唤醒是有开中断的吧?

使用特权

评论回复
jlyuan| | 2021-7-3 19:25 | 显示全部楼层
你清一下那个中断标志试试看.

使用特权

评论回复
renyaq|  楼主 | 2021-7-3 19:26 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈        

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 21小跑堂 打赏20.00元   3天前

    打赏帖:#申请原创# @21小跑堂@21小跑堂@21小跑堂 大 ...

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:希望我的问题都能回答

  • 21小跑堂 打赏4.00元   3天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:参加欧姆龙在线研讨会

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:本次讲座问题截图

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:学习学习再学习

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:5

  • 21小跑堂 打赏10.00元   3天前

    打赏帖:得到打赏,

  • 1 火星国务卿 得到打赏 ¥425.00
  • 2 yanzhengxin1 得到打赏 ¥300.00
  • 3 gaoyang9992006 得到打赏 ¥265.00
  • 4 Gavin3389 得到打赏 ¥225.00
  • 5 13426257085 得到打赏 ¥200.00
  • 6 呐咯密密 得到打赏 ¥185.00
  • 7 两只袜子 得到打赏 ¥155.00
  • 8 yangjiaxu 得到打赏 ¥155.00
  • 9 cr315 得到打赏 ¥150.00
  • 10 elephant00 得到打赏 ¥150.00
在线客服 快速回复 返回顶部 返回列表