请教TI工程师一个问题:
硬件:CC2640R2F
SDK版本:sdk_1_40_00_45
DEMO:simple_periphera
从设备在连接后,先获取连接句柄,后定时读取RSSI,但每次读到的RSSI都为0,请问是哪里的问题?谢谢
//获取连接句柄
GAPRole_GetParameter(GAPROLE_CONNHANDLE, &usr_connHandle);
//获取RSSI
sprintf(prtbuf,"RSSI=%02X",HCI_ReadRssiCmd(usr_connHandle));
UART_Send(prtbuf,strlen(prtbuf));
Alvin Chen:
uint16_t connHandle = 0xFFFF;// connection handleGAPRole_GetParameter(GAPROLE_CONNHANDLE, &connHandle);if(connHandle != 0xFFFF){// Read RSSIVOID HCI_ReadRssiCmd(connHandle);}
user4546979:
回复 Alvin Chen:
按照上面的方法,GAPRole_GetParameter函数执行后,connHandle赋值成0。之后每次读取到的RSSI仍然是0,请问是哪里没有设置好吗?
Alvin Chen:
回复 user4546979:
connHandle为什么要重新赋值呢?
user4546979:
回复 Alvin Chen:
GAPRole_GetParameter函数将connHandle地址传进去,执行了如下语句:
case GAPROLE_CONNHANDLE:*((uint16_t*)pValue) = gapRole_ConnectionHandle;break;猜想此时gapRole_ConnectionHandle为0,所以将connHandle赋值为0,难道是gapRole_ConnectionHandle不对吗?