请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LAUNCHXL-CC2640R2 工具/软件:TI-RTOS
大家好、
我尝试测量 RSSI 信息来自 TI sensortag。
我使用 ble5_simple_observer _cc2640r2lp_app 作为开发我的应用的基准。
这是我 的 SimpleBLEObserver 初始 化函数。
void SimpleBLEObserver 初始化(void) { //(void //在调用 iCall_registerApp 之前不能进行栈 API 调用 // //将当前线程注册为 ICall 调度程序// 以便应用程序可以发送和接收消息。 iCall_registerApp (&selfEntity、&syncEvent); //对 DB 地址进行硬编码,直至 CC2650板获取其自身的 IEEE 地址 //uint8 bdAddress[B_ADDR_LEN]={0x44、0x44、0x44、0x44、0x44、0x44、0x44、0x44、 0x44}; //HCI_EXT_SetBDADDRCmd (bdAddress); //创建一个 RTOS 队列,用于将来自配置文件的消息发送到应用程序。 appMsgQueue = Util_constructQueue (&appMsg); Board_initKeys (SimpleBLEObile_keyChangeHandler); dispHandle = Display_open (SBO_display_type、NULL); //设置观察者配置文件 { uint8 scanRes = DEFAULT_MAX_SCAN_RES; GAPObserverRole_SetParameter (GAPOBSSERVERROLE_MAX_SCAN_RES、sizeof (uint8_t)、 &scanRes); } //设置 GAP GAP_SetParamValue (TGAP_GEN_DISC_scan、DEFAULT_SCAN_DURATION); GAP_SetParamValue (TGAP_LIM_DISK_SCAN、DEFAULT_SCAN_DURATION); //设置白色列表,TI 传感器标签 静态 uint8 bdAddressRegister[6]={0x8_ROPLE_DBC0 };bqbq24B0 (0xB0_DBC0);bqB0_DBCb Device (0xBACT_Observermode_Listen_D0
这是我的 SimpleBLEObserver 函数_processStackMsg
静态空 SimpleBLEObserver 处理器堆栈 Msg (iCall_HDR *pMsg)
{
hciEvt_CmdComplete_t *pPkt;
switch (pMsg->event)
{
案例 GAP_MSG_EVENT:
SimpleBLEObserver_processRoleEvent ((gapObserverRoleEvent_t *) pMsg);
中断;
案例 HCI_GAP_EVENT_EVENT:
switch ( pMsg->status ){
案例 HCI_COMMAND_COMPLET_EVENT_CODE:
//处理 HCI 命令完成事件
pPKT =(hciEvt_CmdComplete_t *) pMsg;
if (pkt->cmdlPCOcode =HCI_READ_RSSI){
//uint16 connHandle = build_uint16 (pkt->pReturnParam[1]、pkt->pReturnParam[2]);
INT8 RSSI =(INT8) pktk->pReturnParam[3];
Display_Print1 (dispHandle、1、0、"RSSI %d EEE"、RSSI);
}
否则{
Display_print0 (dispHandle、1、0、"DDD");
}
中断;
默认值:
中断;
}
中断;
默认值:
中断;
}
pkt->cmdlopcode 不等于 HCI_READ_RSSI。 因此、我无法读取 RSSI 信息。
我不熟悉蓝牙、找不到错误。 导致此问题的错误是什么?
请帮我解决问题。
感谢你的帮助。
祝你度过美好的一天!