TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2650 怎样进入standby模式,关闭蓝牙?

按照理解:

只要定义了POWER_SAVING 宏, 然后TaskSleep就相当于stanby休眠了, 但是蓝牙那部分怎么休眠的呢, cortexm0

standby需外外接32768的晶振么?

Viki Shi:

建议参考下simple_peripheral的例程,无任务会自动进入休眠模式
一般需要外接32块,也可以使用内部32k,功耗会比外部的高一点,具体请看:www.ti.com/…/swra499b.pdf

user1388075:

回复 Viki Shi:

我现在跑的是heartrate这个例程,还建了个新的任务,请问怎样通过按钮进入standby模式呢?

Viki Shi:

回复 user1388075:

建议参考pinstandby,路径C:\ti\tirtos_cc13xx_cc26xx_2_21_01_08\examples\TI\CC2650_LAUNCHXL

user1388075:

回复 Viki Shi:

他这里也没什么很特别的地方啊,就是搞了个sleep

static void taskFxn(UArg a0, UArg a1)
{/* Locals */PIN_State pinState;PIN_Handle hPin;uint_t currentOutputVal;uint32_t standbyDurationUs = 5000000;
/* Allocate LED pins */hPin = PIN_open(&pinState, LedPinTable);
/* Loop forever */while(TRUE){/* Sleep, to let the power policy transition the device to standby */Task_sleep(standbyDurationUs / Clock_tickPeriod);
/* Read current output value for all pins */currentOutputVal =PIN_getPortOutputValue(hPin);
/* Toggle the LEDs, configuring all LEDs at once */PIN_setPortOutputValue(hPin, ~currentOutputVal);}
}

user1388075:

回复 Viki Shi:

在开发板上试了一下这个例程, 电流在2个ua和60个ua之间跳动,这个60ua是不是因为我开启了蓝牙广播造成的?

Viki Shi:

回复 user1388075:

是的,RF操作耗电挺大的

user1388075:

回复 Viki Shi:

if( PPG_GET_BUTTON == 0 && g_sysSleepFlag == 1){if( x++ >= 2){x = 0;g_sysSleepFlag = 0;advertEnabled = 1;GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t),&advertEnabled);}}//low power if(PPG_GET_BUTTON == 0 && g_sysSleepFlag == 0){if( x++ >= 5){x = 0;g_sysSleepFlag = 1;advertEnabled = 0;GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t),&advertEnabled);}}
Task_sleep(1000*100);

能否通过这种外部按钮的方式动态关闭和开启广播,这样做会不会导致蓝牙不稳定

user1388075:

回复 Viki Shi:

还有
AUTO_ADV=TRUE
这个宏的开启对功耗的影响有多大?有没有测试数据或者一个大概的结论?

Viki Shi:

回复 user1388075:

可以按键控制广播,例程 hid_emu_kbd
没有具体测试数据,手册上提供的是处于不同功耗模式下的电流

user1388075:

回复 Viki Shi:

我按照这个文档的操作开启了内部RC,但是感觉整个芯片都不工作了。

赞(0)
未经允许不得转载:TI中文支持网 » CC2650 怎样进入standby模式,关闭蓝牙?
分享到: 更多 (0)