CC2530遇到的低功耗问题
来源:互联网 发布:linux 用户配额 编辑:程序博客网 时间:2024/05/02 02:14
程序又出现BUG,终端采集到的温度值始终是第一次。调试发现是低功耗模式那里有问题。进入函数屏蔽掉低功耗函数问题依旧。这是为什么呢? 又去看了相关文档关于低功耗部分的文档。最后看看程序,发现BUG居然又是寄存器设置的问题,老板程序有一部分让我迷惑,屏蔽掉了果然就好了。
//设置为输入上拉,防止浮空引脚,减少电流消耗及不确定状态 P0SEL = 0x00; P0DIR = 0x00; P0INP &= ~0xFF; P1SEL = 0x00; P1DIR = 0x00; P1INP &= ~0xFF;
上面看了文档后知道是什么意思了。但是下面紧接着一段代码类似上面部分代码,就是此段出了问题。
P2SEL &= ~0x07; P2DIR &= ~0x1F; P2INP &= ~0x1F; P2INP |= 0xE0;
屏蔽掉上段代码,问题解决。但是我还是不知道为什么这段代码会造成温度采集的值始终不变。
下面是完整后进入低功耗模式的设置代码。
void halMcuSetLowPowerMode(uint8 mode){ //设置为输入上拉,防止浮空引脚,减少电流消耗及不确定状态 P0SEL = 0x00; P0DIR = 0x00; P0INP &= ~0xFF; P1SEL = 0x00; P1DIR = 0x00; P1INP &= ~0xFF; // [放大模块低功耗处理] // P1SEL &= ~0x02; P1DIR |= 0x02; P1_1 = 0; // P1SEL &= ~0x10; P1DIR |= 0x10; P1_4 = 0; //貌似这里有问题,这段代码做啥子?// P2SEL &= ~0x07; // P2DIR &= ~0x1F; // P2INP &= ~0x1F; // P2INP |= 0xE0; Init_SLEEP_TIMER(); Set_ST_Period(RF_CYCLE*100); PowerMode(mode); // comment: not yet implemented// HAL_ASSERT(FALSE);}
_______________________________________________________上面是昨日
今天跟老板说了BUG的原因,看了代码后就知道是哪里的问题了。也怪自己看数据手册没有理解透彻。P0INP与P1INP中控制上啦下啦是要看P2INP的。P2INP的高三位才是起决定作用的。
- CC2530遇到的低功耗问题
- ZIGBEE 低功耗的实现 (cc2530)
- CC2530低功耗终端不停重连网络耗电问题
- CC2530低功耗笔记-备忘
- OSAL机制的ZigBee低功耗管理(CC2530)
- OSAL机制的ZigBee低功耗管理(CC2530)
- zigbee学习笔记--电源管理OSAL机制的ZigBee低功耗管理(CC2530)
- zigbee学习笔记--电源管理OSAL机制的ZigBee低功耗管理(CC2530)
- zigbee--电源管理OSAL机制的z-statk低功耗管理(CC2530)
- TI ZigBee FAQ 常见问题解答 CC2530低功耗完成
- DA14580低功耗及在低功耗模式下烧录flash的问题
- 低功耗的设置
- 进入低功耗状态要注意的问题
- 影响低功耗模式功耗的因素
- 低功耗板子测试功耗的方法
- MSP430的低功耗探讨
- 低功耗蓝牙的基础
- zstack低功耗的设置
- About Ubuntu
- [Android]将应用崩溃信息汇报给开发者并重新启动应用
- 关于c++的一些案例
- android异步操作类----AsyncTask
- listview点击items的操作
- CC2530遇到的低功耗问题
- 问题一百四十九:人见人爱的A-B
- android的PowerManager和PowerManager.WakeLock
- [MSSQL]获取数据库的一些基本信息
- ARM-GCC-LD脚本
- Hibernate拦截器与监听器
- Android SQLite 详解
- ubuntu 安装福昕阅读器(wine方式)
- 从程序员到项目经理(6):程序员加油站 -- 懂电脑更要懂人脑