卢家顺的笔记 https://bbs.21ic.com/?513681 [收藏] [复制] [RSS]

日志

lpc2365掉电唤醒调试经历

已有 942 次阅读2009-6-29 12:28 |个人分类:arm7|系统分类:ARM| NXP, lpc2365, 掉电模式, 外部中断唤醒

自己调试了好几天,原本以为简单的东西,就是没有通过。最后解决了暂时的问题,但是感觉没有从原理上搞明白,也许是lpc2365本身的bug或者硬件的干扰。


进入掉电模式是很简单的,只需要下面的三行代码:
        AD0CR = 0x00;
        PCONP = 0x00;
         PCON = 0x02;
然后用eint1,eint2,eint3,这三个中断唤醒。发现只有外部中断2可以唤醒,而中断1,和3均不唤醒。在前面的几天里,我反复检查和修改了下面的东西,依然是不成功:
        1.pinsel,管脚配置,无错。
        2.pinmode,内部上拉电阻,下拉电阻,以及既不上拉也不下拉的配置,全部试过。
        3.intwake,一个一个外部中断的调试,改变了以前三个一起测试的问题。
        4.extpolar,对电平的极性也进行了修改。
        5.将周立功的模板拿来,并专门写了调试程序,还是不行。


就在我绝望的时候,我将上面进入掉电模式的代码多写了几遍,大概是4遍,就是执行4次掉电模式,终于进入掉电模式了。测试一下是否能唤醒,竟然唤醒了。ok,搞定了。想象周公的模板里是不断的进行掉电,然后用中断唤醒,不知道他的例子如果只是我上面的三行代码,不知道可行不可行。


还有一点是是唤醒后的PLL重置问题。但是程序老是复位,后来才明白,我用的喂硬狗是用的fio0,而周公模板里PLLinit的scs里并没有把bit0置1,所以老是出错。后来加了一句,才没有复位。


 


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (2 个评论)

回复 jlgcumt 2009-7-16 05:59
比我牛多了,我还在玩51呢

QUOTE:
以下为dalujia的回复: arm也就当51用,呵呵。
浪子星辰 2010-1-11 13:34
我想问一下 进入掉电模式之后,系统被唤醒之后是从上次的PC处开始执行的 而且系统被唤醒必须要被重新配置PLL,那么则样才能让系统唤醒之后程序去执行配置PLL的操作呢 这部分代码我不知道怎么写 请赐教 可以直接到我的主页下进行留言 希望能够指导一下