|
不知道是硬件问题还是软件问题,有没有知道的,帮我指点一下,谢谢!
/**************************************************
功能:引脚设置子程序
说明:设定P0.2引脚为唤醒脚(高电平唤醒)
**************************************************/
void disconnectGPIO()
{
P0CON = 0x12; //P02作为输入引脚,(无上下拉)开缓冲(ON/OFF)
WUOPC0 = 0X04;//1:引脚唤醒使能,0:为禁止
OPMCON = 0x02;//引脚唤醒为高电平有效,锁定设置
}
/**************************************************
功能:主程序
说明:程序被唤醒后重新复位
**************************************************/
void main(void)
{
CLKCTRL = 0x28; // Clock sourced by XCOSC16M
//P0DIR = p0dir; // 设定I/O口输入输出
P1DIR = 0x00;
OPMCON = 0x00; // 解除锁定
disconnectGPIO(); // 设置唤醒源
while (P02); // 等待引脚放开
PWRDWN = 0x01; // 进入DEEP SLEEP模式,等待唤醒。此时电流最小
}
这是进入低功耗时的电流,有850uA样子,按资料上说这个电流应该是0.5UA的
/**************************************************
功能:主程序
说明:程序被唤醒后重新复位
**************************************************/
void main(void)
{
CLKCTRL = 0x28; // Clock sourced by XCOSC16M
//P0DIR = p0dir; // 设定I/O口输入输出
P1DIR = 0x00;
OPMCON = 0x00; // 解除锁定
disconnectGPIO(); // 设置唤醒源
while (P02); // 等待引脚放开
// PWRDWN = 0x01; // 进入DEEP SLEEP模式,等待唤醒。此时电流最小
}
这个是进入待机模式,没有打开RF,电流有4MA.按资料上说这个电流应该是1MA的
没有接任何外设。不知道哪里有问题?请求指点。 |
|