TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2540 自身如何读取 RSSI

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:

谢谢楼上的朋友

赞(0)
未经允许不得转载:TI中文支持网 » CC2540 自身如何读取 RSSI
分享到: 更多 (0)