大家好,关于2530休眠时候功耗的问题困扰了好几天了,搜了下尝试一些解决方法,仍然没有什么效果,特意来求助,希望能给些帮助
(已经设置了PowerSaving,4个PollRate为0,修改了OnBoard.c Key那里等)
—————————————
问题是这样的: 1.我的2530设备是带上rfx2401功放,在halsleep处设置了断点,程序能进去,并且观察halPwrMgtMode,确实是0x02..并且在供电处串联了一个1欧电阻采样,但是用万能表测到的电压是60mV,也就是电流一直是60mA,发射数据时上到68-70mA左右.怎么回事?很苦恼
2.我尝试把我在sampleApp里面设置的定时事件注释掉,halPwrMgtMode是0x03,测出的电流是16mA左右.我应该怎么处理?
3.应该如何观察32M晶振的工作状态? 贴片的焊死了怎么用示波器观察?
4.能不能观察一些寄存器的参数,来确认是否真的进入PM2模式?
问题多了点,希望有知道的会员和TI员工能指导一下,万分感谢!
juyin liang:
回复 VV:
十分感谢工作人员的回答.经过仔细检查,确实外设的影响很大! 我会继续检查,谢谢工作人员!
chuhong.wang:
回复 VV:
我在论坛上发帖关于这个问题,一直没人回复,特意跑到这里来请教:
1.添加POWER_SAVING选项
2.设置RFD_RCVC_ALWAYS_ON=FALSE
3.在main函数中调用 osal_pwrmgr_device(1);
4.在我添加的任务init中添加osal_pwrmgr_task_state(task_id,0);
5.DPOLL_RATE=0;
以上的配置还是无法进入休眠,请问怎么配置呢?另外你说的:
#define HAL_SLEEP_PREP_POWER_MODE(mode) st( SLEEPCMD &= ~PMODE; /* clear mode bits */ \SLEEPCMD |= mode; /* set mode bits */ \while (!(STLOAD & LDRDY)); \halSleepPconValue = PCON_IDLE; \)这个函数直接调用就可以进入休眠 吗,不会被其他任务又唤醒吗?