\SRC\OAL\OALLIB\power.c中的BSPPowerOff和BSPPowerOn这俩函数是怎么设置休眠状态的,他们都是在off.c的OEMPowerOff中被调用的。 BSPPowerOff中需要配置休眠时的唤醒源或其他外设,IO等, BSPPowerOn需要判断唤醒源,中断和IO。 其他流驱动的休眠唤醒需要在XXX_PowerUp和XXX_Power……
BTW 点灯其实就是控制一个GPIO 高电平或者低电平。 用万用表,示波器,或者一个小led 提示 设置GPIO高/低电平 然后接着来个 B . 这个汇编死循环就会一直在这里不出来,然后上面的GPIO 电平就不会变了。 是吧。
引用 10 楼 Jamescow 的回复:上面说错了 不知是否设置有问题,我的OFF.C在下面这个目录 C:\WINCE600\PLATFORM\COMMON\SRC\SOC\S3C6410_SEC_V1\OAL\POWER 是否得拷贝这个OFF.C到C:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\里才行? 因为我看C:\WINCE60……
上面说错了 不知是否设置有问题,我的OFF.C在下面这个目录 C:\WINCE600\PLATFORM\COMMON\SRC\SOC\S3C6410_SEC_V1\OAL\POWER 是否得拷贝这个OFF.C到C:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\里才行? 因为我看C:\WINCE600\PLATFORM\SMDK6410\S……
记得判断是否唤醒有效,要从bootloader开始的,读一个状态寄存器,然后判断是正常启动,还是看门狗热启动,还是唤醒的。 楼主去bootloader点灯,看是否到了bootloader了吧。
看打印应该是进入睡眠状态了,是不是睡眠状态后把EINT11这个GPIO配置成其他的,比如输出口,导致后续不能响应中断进入唤醒状态。可以查看一下
引用 7 楼 Jamescow 的回复:引用 5 楼 brantyou 的回复:引用 3 楼 jungouhaha 的回复:看打印应该是进入睡眠状态了,是不是睡眠状态后把EINT11这个GPIO配置成其他的,比如输出口,导致后续不能响应中断进入唤醒状态。可以查看一下 这个EINT11你要在休眠的时候配置成外部中断脚,然后配置成唤醒源,使能这个中断,休眠后,触发这个中……
引用 5 楼 brantyou 的回复:引用 3 楼 jungouhaha 的回复:看打印应该是进入睡眠状态了,是不是睡眠状态后把EINT11这个GPIO配置成其他的,比如输出口,导致后续不能响应中断进入唤醒状态。可以查看一下 这个EINT11你要在休眠的时候配置成外部中断脚,然后配置成唤醒源,使能这个中断,休眠后,触发这个中断就OK了 谢谢前辈指点,有几个疑……
引用 3 楼 jungouhaha 的回复:看打印应该是进入睡眠状态了,是不是睡眠状态后把EINT11这个GPIO配置成其他的,比如输出口,导致后续不能响应中断进入唤醒状态。可以查看一下 这个EINT11你要在休眠的时候配置成外部中断脚,然后配置成唤醒源,使能这个中断,休眠后,触发这个中断就OK了
引用 3 楼 jungouhaha 的回复:看打印应该是进入睡眠状态了,是不是睡眠状态后把EINT11这个GPIO配置成其他的,比如输出口,导致后续不能响应中断进入唤醒状态。可以查看一下 这个口没用过。
19,500
社区成员
41,567
社区内容
加载中
试试用AI创作助手写篇文章吧