编辑: 南门路口 2015-05-20

100 毫秒被使能.要禁用的按键查 询,可以将变量 OnboardKeyIntEnable 设置为 HAL_KEY_INTERRUPT_ENABLE. HTTP://WWW.FEIBIT.COM 深圳市飞比电子科技有限公司 SHENZHEN FEIBIT ELECTRONIC TECHNOLOGY CO., LTD 地址:深圳市福田区梅华路深华科技园

1 栋西座

5 楼5A6-5A10 室

电话:0755-83287930 传真:0755-83159815 5.1.5 硬件应用设计注意事项 未使用的 I/O 口应该有一个确定的电平,一种简易的办法就是将这些引脚通过寄存器配置成带 上拉电阻的通用输入口,当然也可以配置成为通用的输出口.但切记不要将这些引脚接到电源或者 地上以降低系统功耗. 在CC2530 上,如果未使用的 I/O 口悬空,那么这些引脚将不断产生软件不能消除的中断标志. HTTP://WWW.FEIBIT.COM 深圳市飞比电子科技有限公司 SHENZHEN FEIBIT ELECTRONIC TECHNOLOGY CO., LTD 地址:深圳市福田区梅华路深华科技园

1 栋西座

5 楼5A6-5A10 室

电话:0755-83287930 传真:0755-83159815

第二节 OSAL 下的低功耗电源管理实现(CC2530) 主要涉及以下几个文件: OSAL_PwrMgr.h OSAL 电源管理的 API 头文件 OSAL_PwrMgr.C OSAL 电源管理的 API C 文件 hal_sleep.c 底层的电源管理文件 电源管理结构体 typedef struct { uint16 pwrmgr_task_state;

//任务状态 uint16 pwrmgr_next_timeout;

//下一次超时 uint16 accumulated_sleep_time;

//睡眠时间 uint8 pwrmgr_device;

//电源管理设备属性,有PWRMGR_ALWAYS_ON 和//PWRMGR_BATTERY 两种 } pwrmgr_attribute_t;

#define PWRMGR_ALWAYS_ON

0 #define PWRMGR_BATTERY

1 选择 PWRMGR_ALWAYS_ON 的话将不会进入睡眠模式 选择 PWRMGR_BATTERY 将允许 HAL 管理 CPU 进入 SLEEP LITE 或者 SLEEP DEEP 状态. #define PWRMGR_CONSERVE

0 #define PWRMGR_HOLD

1 低功耗标志, 主要用于 osal_pwrmgr_task_state()这个函数中, 用于标志每一任务是否需要低功耗. extern pwrmgr_attribute_t pwrmgr_attribute;

定义一个电源管理的全局变量. 函数 * @fn osal_pwrmgr_init * * @brief 初始化电源管理函数,这个函数在 OSAL.C 里面的 osal_init_system( )调用,也就 * 是在 OSAL 系统初始 HTTP://WWW.FEIBIT.COM 深圳市飞比电子科技有限公司 SHENZHEN FEIBIT ELECTRONIC TECHNOLOGY CO., LTD 地址:深圳市福田区梅华路深华科技园

1 栋西座

5 楼5A6-5A10 室

电话:0755-83287930 传真:0755-83159815 化的时候将电源管理模式调成了不会进入睡眠模式的状态. * * @param none. * * @return none. */ void osal_pwrmgr_init( void ) { pwrmgr_attribute.pwrmgr_device = PWRMGR_ALWAYS_ON;

//默认没有睡眠模式 pwrmgr_attribute.pwrmgr_task_state = 0;

//清零 } * @fn osal_pwrmgr_device * * @brief 设置电源管理设备属性. * * @param pwrmgr_device -选择 PWRMGR_ALWAYS_ON 的话将不会进入睡眠模式,选择 * PWRMGR_BATTERY 将允许 HAL 管理 CPU 进入 SLEEP LITE 或者 SLEEP DEEP 状态. * * @return none void osal_pwrmgr_device( uint8 pwrmgr_device ) { pwrmgr_attribute.pwrmgr_device = pwrmgr_device;

} * @fn osal_pwrmgr_task_state * * @brief 这个函数可以被每一个任务调用,用于设置这个任务是否支持低功耗运行,如*果每一个任务不支持低功耗将无法进入低功耗模式运行. * * @param task_id C 任务 ID * state C 任务是否需要低功耗 * * @return SUCCESS if task complete */ uint8 osal_pwrmgr_task_state( uint8 task_id, uint8 state ) { if ( task_id >

= tasksCnt ) return ( INVALID_TASK );

if ( state == PWRMGR_CONSERVE ) { // 清零 pwrmgr_attribute.pwrmgr_task_state &

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题