PIC单片机多重睡眠,唤醒问题

[复制链接]
 楼主| y18370990546 发表于 2018-5-12 19:59 来自手机 | 显示全部楼层 |阅读模式
程序走到第一个SLEEP休眠,按键唤醒,然后设置看门狗定时模式,紧接着再次SLEEP(),发现第二个休眠会直接跳出。
程序大致如下
SLEEP();
nop();
nop();
while(flag0==1)//按键唤醒标志位
{
LED=1;
WDTCON=0B00011011;//8S定时,看门狗定时开
SLEEP();
NOP();
LED=0;
__delay_ms(100);
}

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

!!!求解
zubingming 发表于 2018-5-16 19:45 | 显示全部楼层
flag0在中断时置1?
入中断后,要读一次IO ,清中断标致。有中断标致,PIC不会进入sleep
yy005566 发表于 2018-5-16 22:24 来自手机 | 显示全部楼层
zubingming 发表于 2018-5-16 19:45
flag0在中断时置1?
入中断后,要读一次IO ,清中断标致。有中断标致,PIC不会进入sleep ...

对,我是用电平变化唤醒第一个SLEEP,然后flag0置1,就一直循环在while(flag0)中。我不太明白在中断里,读I/O口是什么意思?
zubingming 发表于 2018-5-16 22:35 | 显示全部楼层
本帖最后由 zubingming 于 2018-5-16 22:36 编辑



多看datasheet,这某PIC芯片手册上写的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
长月 发表于 2018-7-4 14:43 | 显示全部楼层
yy005566 发表于 2018-5-16 22:24
对,我是用电平变化唤醒第一个SLEEP,然后flag0置1,就一直循环在while(flag0)中。我不太明白在中断里, ...

读I/O口就是读I/O口的电平状态,比如movf  PORTB ,W  既把PORT口的状态读取一遍
ayb_ice 发表于 2018-7-5 09:03 | 显示全部楼层
按键会产生很多脉冲的,所以会出现这样的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

112

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

49

主题

112

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部