TIMAC 1.5 cc2530 官方历程怎么设置低功耗 ? 只需编译 POWER_SAVING 然后
void osal_pwrmgr_init( void )
{
pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON; //
pwrmgr_attribute.pwrmgr_task_state = 0; //
}
pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON; 修改成 pwrmgr_attribute.pwrmgr_device = PWRMGR_BATTERY 这样在终端设备上就可以实现低功耗了吗?
浅度睡眠 定时器唤醒的低功耗模式 功耗能做到多少 能到几十uA吗?
那位做过TIMAC 1.5低功耗的能给我讲解下吗谢谢
Li Amly1:
你的意思是我直接跑TIMAC1.5 然后在终端设备上 直接调用halsleep这个函数不做任何其它设置就可以进入低功耗? 这样跑的话电流最低能达到多少?几十毫安还是几十uA?
VV:
回复 Li Amly1:
在TIMAC里面把POWER_SAVING宏定义打开就可以了。
在睡眠定时器开启情况下的休眠,最小系统电流是1个uA
Li Amly1:
回复 VV:
你好 按照你所说的 我在TIMAC 里面 把 把POWER_SAVING宏定义打开 然后让其组网当 设置一终端设备加入后(MSA_DeviceStartup();) 启动数据发送任务在里面加入
if (events & MSA_SEND_EVENT) { halSleep(100000); /* Do it again */ if (msa_State == MSA_SEND_STATE) { /* Start sending */}
。。。。
}
通过调试跟踪 发现在 halSleep函数中 MAC_PwrOffReq(MAC_PWR_SLEEP_DEEP)总是等于E2 表示无法睡眠 这是怎么回事?
Li Amly1:
回复 Li Amly1:
求解答
VV:
回复 Li Amly1:
休眠的时间是根据系统调度来决定的,不是自己设置的。
比方说你系统调度,最近要发生的一个事件是1000ms以后,那么休眠时间就是1000ms
Li Amly1:
回复 VV:
系统调度发生一个事件的时间怎么设置? 我现在跑的TIMAC1.5 的历程就3个任务
macEventLoop, MSA_ProcessEvent, Hal_ProcessEvent
这3个任务我怎么去设置他的时间?
VV:
回复 Li Amly1:
这三个是相应任务的事件处理函数,你找osal_timer里面的事件就可以了。