各位大大们好:
请问,在进入PM3后,已经可以通过按键重新唤醒MCU,但是,该怎么才能使射频正常工作啊~`(*∩_∩*)′
HAL_ISR_FUNCTION( halPort2Isr, P2INT_VECTOR )
{HAL_ENTER_ISR();uint8 value;if( P2IFG & 0x01 ){P2IFG &= ~BV(0);value = TRUE;GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof(uint8), &value); //开启广播}else{P2IFG = 0;}CLEAR_SLEEP_MODE();HAL_EXIT_ISR();
}
这是我P2.0中断的代码,在中断中,我恢复了 CC2540 的广播使能,发现能成功进入中断,但是运行完开启广播那一句之后,广播并没有开启。所以想问一下各位大大,我该怎么做才行,谢谢~`(*∩_∩*)′
Yan:
Bob,
最好不要再这里直接调用应用层的这个函数。
建议你可以参考keyfob 工程里面的按键IO 中断触发唤醒PM3 直接进入广播的代码,有现成的。
xu zhang4:
回复 Yan:
Yan,
if( gapProfileState != GAPROLE_CONNECTED ) { uint8 current_adv_enabled_status; uint8 new_adv_enabled_status;
//Find the current GAP advertisement status GAPRole_GetParameter( GAPROLE_ADVERT_ENABLED, ¤t_adv_enabled_status );
if( current_adv_enabled_status == FALSE ) { new_adv_enabled_status = TRUE; } else { new_adv_enabled_status = FALSE; }
//change the GAP advertisement status to opposite of current status GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &new_adv_enabled_status ); }
这段代码可以唤醒PM2状态么?还有怎么能让蓝牙进入PM2。是用这个么osal_pwrmgr_device( PWRMGR_BATTERY );?还有我打开PowerSave之后为什么之前能给串口发送的数据现在貌似全都发不出去了?
TI中文支持网


