ZIGBEE协议栈如何低功耗(CC2530+ZIGBEE2.5)

1》按照以下进行配置Z_STACK怎样进入PM2模式步骤 

1. 首先需要在编译选项中加入POWER_SAVING,使能低功耗模式;其他没有用到的可以去掉,比如串口,LCD等功能。(此类似于宏定义)


2. 修改f8wConfig.cfg文件:
-DRFD_RCVC_ALWAYS_ON=FALSE
-DPOLL_RATE=0
-DQUEUED_POLL_RATE=0
-DRESPONSE_POLL_RATE=0
-DREJOIN_POLL_RATE=440(此非常重要,如果写成0则会造成协调器断电后终端无法加入网络


3. void osal_pwrmgr_init( void )函数中,
修改pwrmgr_attribute.pwrmgr_device = PWRMGR_BATTERY; // Default to no power conservation.
pwrmgr_attribute.pwrmgr_task_state = 0; // Cleared. All set to conserve


4.按键设置为中断方式这个为使用按键库中断唤醒,我已近写成寄存器版本的,不用也行
HalKeyConfig(HAL_KEY_INTERRUPT_ENABLE, OnBoard_KeyCallback);//中断方式


5. 只在必要的地方启用定时函数,系统进入PM2模式,休眠电流为1.1UA,如果定时函数全部不开启,则会进入PM3模式,休眠电流更低0.3UA


6. 在终端中的SampleApp_ProcessEvent( )函数中,启用定时传输数据。

以上的456项是说只要有中断或者任务执行就可以唤醒,任务执行完后又进行了睡眠。关闭端口按照软件标注的就可以实现,在Z_Main里面。

2》关闭端口(即把没有用到的端口关闭,因为TI的协议栈例程是适用于他自己的开发板,把端口是打开的)

1.   osal_int_enable( 0 );//INTS_ALL    更改1  关闭中断

2.  InitBoard( OB_COLD );//OB_READY   更改2 关闭板载初始化

3.   // Display information about this device   更改3 显示设备的信息注释
     //  zmain_dev_info();

4.  #ifdef 0                       //更改4 LCD屏上显示设备信息不使能
     zmain_lcd_init();

 

3》实现低功耗的最小例程在资源里可以下载到(实现低功耗和终端数据单播发送给协调器)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值