打印

SLEEP无法唤醒

[复制链接]
401|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuzaiy|  楼主 | 2020-6-2 20:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下:
        GIE = 1;
                        PEIE = 1;
                        INTE = 1;
                        INTF = 0;
                        INTEDG = 1;
                        IOCIE = 1;
                     SLEEP();
                        NOP();
                        PEIE = 0;
                        INTE = 0;
                        IOCIE = 0;
SLEEP时的电流为几百个微安,按按键电流一点变化都没有。
是哪里没设好吗?

使用特权

评论回复
沙发
renyaq| | 2020-6-2 20:40 | 只看该作者
使用哪个端口产生中断,需要配置。程序里没有配啊。

使用特权

评论回复
板凳
liuzaiy|  楼主 | 2020-6-2 20:43 | 只看该作者
PA口都是输入,都需要中断,并且相关功能已经实现,设置如下:
        TRISA0 = 1;
        TRISA1 = 1;                                
        TRISA3 = 1;
        TRISA4 = 1;
        TRISA5 = 1;
        ANSELA = 2;

使用特权

评论回复
地板
llljh| | 2020-6-2 20:45 | 只看该作者
楼主看一下这两个寄存器:IOCAP   IOCAN

使用特权

评论回复
5
liuzaiy|  楼主 | 2020-6-2 20:50 | 只看该作者

                        IOCAP = 0xFF;
                        IOCAN = 0XFF;
这样设置还是不行诶

使用特权

评论回复
6
liuzaiy|  楼主 | 2020-6-2 20:53 | 只看该作者
高手今天都出去浪了吗?

使用特权

评论回复
7
bqyj| | 2020-6-2 20:57 | 只看该作者
有点意思,前两天刚遇到类似问题。后来用MCC建立了程序,立刻好用。当时我的问题原因是ANSELA配置错了。IO上电后默认是模拟模式的,要使用数字功能,一定要通过代码将ANSEL相应bit清零。不知道你是不是也是这个问题。

使用特权

评论回复
8
zwll| | 2020-6-2 21:00 | 只看该作者
你先用一个IO做唤醒,一个IO做挂一个LED输出来测试吧。

使用特权

评论回复
9
dingy| | 2020-6-2 21:05 | 只看该作者
IOC应该就是配置TRISC,ANSEL,IOCxP, IOCxN, IOCIE,看不到你程序的全貌也很难说再多

使用特权

评论回复
10
renyaq| | 2020-6-2 21:08 | 只看该作者

代码不全啊。你的Sleep怎么进入的?

使用特权

评论回复
11
liuzaiy|  楼主 | 2020-6-2 21:11 | 只看该作者
SLEEP();

使用特权

评论回复
12
wangpe| | 2020-6-2 21:15 | 只看该作者
你没懂我的意思, 你这段代码放哪儿了?
是while(1)里面还是之前了。
更多操作

使用特权

评论回复
13
liuzaiy|  楼主 | 2020-6-2 21:20 | 只看该作者
可以休眠唤醒了,但是电流太大了,有70uA.怎么降到20几uA啊?

使用特权

评论回复
14
zwll| | 2020-6-2 21:23 | 只看该作者
楼主查到SLEEP无法唤醒的原因了?能否分享一下?

使用特权

评论回复
15
liuzaiy|  楼主 | 2020-6-2 21:26 | 只看该作者

GIE = 0;
                        PEIE = 1;
                        INTE = 1;
                        INTF = 0;
                        INTEDG = 1;
                        IOCIE = 1;
                        IOCAP = 0xFF;
                        IOCAN = 0XFF;
                        IOCAF = 0;
                        IOCIF = 0;                        
                        OSCCON = 0X02;
                        NOP();
                     SLEEP();

使用特权

评论回复
16
liuzaiy|  楼主 | 2020-6-2 21:30 | 只看该作者

嗯,预料中的结果,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

735

主题

7546

帖子

2

粉丝