根据TI官方wiki,对SimplePeripheral工程里的初始化函数进行了修改,
void llSetupPTMTestPort( void )
{
// 配置UART0, Alternative 1方式
P0SEL &= (~BV(PTM) & ~BV(RDY)); // GPIO
P0DIR &= ~BV(PTM); // 输入, 这个是DUT的CTS, 测试仪的RTS
P0DIR |= BV(RDY); // 输出, 这个是DUT的RTS, 测试仪的CTS
P0 |= BV(RDY); // 首先, 拉高DUT的RTS输出, 就是测试仪的CTS
P0INP &= ~BV(PTM); // 让P0.4的输入模式由P2INP寄存的器配置来决定
P2INP &= ~BV(PDUP0); // 把P0.4拉高, P0中其他口拉低
return;
}
void SimpleBLEPeripheral_Init( uint8 task_id )
{
simpleBLEPeripheral_TaskID = task_id;
llSetupPTMTestPort();
if ( TESTER_CONNECTED() )
{
(void)osal_pwrmgr_task_state( task_id, PWRMGR_HOLD );
HCI_EXT_EnablePTMCmd();
}
else
{
#ifdef POWER_SAVING
(void)osal_pwrmgr_task_state( task_id, PWRMGR_CONSERVE );
#endif // Setup the GAP
VOID GAP_SetParamValue( TGAP_CONN_PAUSE_PERIPHERAL, DEFAULT_CONN_PAUSE_PERIPHERAL );
………
这么修改以后,而且库也修改成了带PTM.lib文件,为什么这样还是无法进入ptm模式呢?(协议栈版本为1.4.1),希望TI技术指导能够指导我一下,谢谢!
Seasat Liu:
这个问题应该到
无线连接
硬件, 射频和私有技术
栏目中提问