HCI_ReadRssiCmd();应该使用到这个函数吧,可是不知道这个函数如何使用?
GAPRole_GetParameter(GAPROLE_CONNHANDLE, &temp1 );
temp2 = HCI_ReadRssiCmd(temp1);
这样试了一下可是不太对,似乎有回调函数,但是不知道怎么用,求高人指点。
air anson:
回复 Yue TANG:
谢谢了,已经解决问题了
ming tu:
回复 air anson:
怎么解决的啊?能指导下解决方案吗?谢谢
chengjian wan:
回复 Yue TANG:
我在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 Callbacksstatic gapRolesCBs_t keyFob_PeripheralCBs ={ peripheralStateNotificationCB, // Profile State Change Callbacks RssiRead // When a valid RSSI is read from controller};
Cailin Tyson:
回复 Yue TANG:
你好,TY先生,我想你那个回调函数static void RssiRead( int8 newRSSI),应该改成static void RssiRead( uint16 connHandle, int8 newRSSI),应该读RSSI是通过底层来完成的,TI的程序只提供一个回调函数来处理,底层传上来的参数应该是两个。
Cailin Tyson:
回复 chengjian wan:
static void RssiRead( int8 newRSSI )是一个回调函数,在连接状态下,底层按照设定的时间间隔,读取RSSI的值。然后调用你设置的回调函数,把参数传newRSSI.函数体就是你自己的程序代码,主要是值跟新RSSI后,你想做什么事情。
nan yu:
回复 Cailin Tyson:
您好,请问您的这个代码是在SimpleBLEPeripheral工程里改的吗?我想实现主从连接后,从机测读取并显示出RSSI值(买回来的板子是主机的LCD显示RSSI值)。然后我就按您的方法改了,发现desired_rssi_rate是未定义的,估计您不是在SimpleBLEPeripheral工程里。请问,我这种情况,如何实现呀?十分感谢!
wenzhong shen:
回复 nan yu:
楼上是在sensortag例程里改的,SimplePeripheral例程里没有定义变量 你自己定义一下,测试一下,这个就是读取自身RSSI值的,希望你早日解决!
nan yu:
回复 wenzhong shen:
谢谢楼上的朋友