关于CC2541 keyfob项目应用睡眼设置问题
时间:10-02
整理:3721RD
点击:
大家好:
您好!我是基于keyfob项目上开发。但我现在处于调试低功耗阶段。我想法是:
一、深度睡眼,该睡眼依靠外部中断才能唤醒
进入睡眼方法:如果加速计在3分钟之内没有产生新值,CC2541写一个命令,系统进入深度睡眼。
唤醒睡眼方法:三轴加速计有新值产生中断,或者敲击产生中断(该功能在BMA250已经实现)。
二、定时器睡眼,通过设置定时器值实现睡眼之后256ms唤醒一次
进入睡眼方法:CC2541读取加速度值完毕后直接写入一个指令,系统进入定时器睡眼。
唤醒睡眼方法: 定时器在256ms这后自动唤醒系统,系统直接读取加速度值完毕后,接着继续定时器睡眼,以此循环。
请教各位大哥以上两点如何实现,或者有没有其他类似的方案。请回复。谢谢!
定时器睡眠,其实就是周期事件,keyfob在宏定义中已经定义了POWER_SAVING,官网程序中有直接的API函数:osal_start_timerEx (Hal_TaskID, HAL_KEY_EVENT, HAL_KEY_POLLING_VALUE),可以用这个函数定义周期唤醒,执行完后,自动进入休眠,PM2模式 电流1uA
第一种的中断唤醒,你可以参考官方例程中的按键部分,原理是一样的
谢谢了!