HCI_ReadRssiCmd();应该使用到这个函数吧,可是不知道这个函数如何使用?
GAPRole_GetParameter(GAPROLE_CONNHANDLE, &temp1 );
temp2 = HCI_ReadRssiCmd(temp1);
这样试了一下可是不太对,似乎有回调函数,但是不知道怎么用,求高人指点。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
GAPRole_SetParameter(GAPROLE_RSSI_READ_RATE,sizeof(uint16),&desired_rssi_rate);
这个是设置RSSI的读取速率,默认是0,所以你要设一个非零值,然后如下,就不详细列了,你跟一下GAPROLE_RSSI_READ_RATE应该差不多就明白了。
static void RssiRead( int8 newRSSI );
static void RssiRead( int8 newRSSI )
{
//你的处理
}
// GAP Role Callbacks
static gapRolesCBs_t keyFob_PeripheralCBs =
{
peripheralStateNotificationCB, // Profile State Change Callbacks
RssiRead // When a valid RSSI is read from controller
};
我在void SensorTag_Init( uint8 task_id )
增加了:GAPRole_SetParameter(GAPROLE_RSSI_READ_RATE,sizeof(uint16),&desired_rssi_rate);
static void RssiRead( int8 newRSSI );
static void RssiRead( int8 newRSSI )
{
这里用什么函数?没理解
}
// GAP Role Callbacks
static gapRolesCBs_t keyFob_PeripheralCBs =
{
peripheralStateNotificationCB, // Profile State Change Callbacks
RssiRead // When a valid RSSI is read from controller
};
static void RssiRead( int8 newRSSI )是一个回调函数,在连接状态下,底层按照设定的时间间隔,读取RSSI的值。然后调用你设置的回调函数,把参数传newRSSI.函数体就是你自己的程序代码,主要是值跟新RSSI后,你想做什么事情。
您好,请问您的这个代码是在SimpleBLEPeripheral工程里改的吗?我想实现主从连接后,从机测读取并显示出RSSI值(买回来的板子是主机的LCD显示RSSI值)。然后我就按您的方法改了,发现desired_rssi_rate是未定义的,估计您不是在SimpleBLEPeripheral工程里。请问,我这种情况,如何实现呀?十分感谢!