请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2640R2F 工具/软件:
我发现 SimpleLink SDK 中有一个名为 FPGA_AUTO_CONNECT 的新 Marco for CC2640R2F 版本 5.30.0.11 示例代码、用于控制对 SimpleCentral_startGapDiscovery () 的函数调用。 我注意到当我手动调用这个函数时、程序将停止在函数 GAPCentral Role_Start 发现中工作。 有人能告诉我这个 simplelink SDK 中 Marco FPGA_AUTO_CONNECT 的确切含义吗? 是否需要启用 GAP 发现?
以下是相关 SDK 示例代码:
#ifdef FPGA_AUTO_CONNECT /********************************************************************* * @fn SimpleCentral_startGapDiscovery * * @brief Start discovering devices * * @param none * * @return none */ static void SimpleCentral_startGapDiscovery(void) { // Start discovery if ((state != BLE_STATE_CONNECTED) && (!scanningStarted)) { scanningStarted = TRUE; scanRes = 0; Display_print0(dispHandle, 2, 0, "Discovering..."); Display_clearLines(dispHandle, 3, 4); GAPCentralRole_StartDiscovery(DEFAULT_DISCOVERY_MODE, DEFAULT_DISCOVERY_ACTIVE_SCAN, DEFAULT_DISCOVERY_WHITE_LIST); } } /********************************************************************* * @fn SimpleCentral_connectToFirstDevice * * @brief Connect to first device in list of discovered devices * * @param none * * @return none */ static void SimpleCentral_connectToFirstDevice(void) { uint8_t addrType; uint8_t *peerAddr; scanIdx = 0; if (state == BLE_STATE_IDLE) { // connect to current device in scan result peerAddr = devList[scanIdx].addr; addrType = devList[scanIdx].addrType; state = BLE_STATE_CONNECTING; GAPCentralRole_EstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE, DEFAULT_LINK_WHITE_LIST, addrType, peerAddr); Display_print0(dispHandle, 2, 0, "Connecting"); Display_print0(dispHandle, 3, 0, Util_convertBdAddr2Str(peerAddr)); Display_clearLine(dispHandle, 4); } } #endif // FPGA_AUTO_CONNECT
case GAP_DEVICE_INIT_DONE_EVENT: { maxPduSize = pEvent->initDone.dataPktLen; Display_print0(dispHandle, 1, 0, Util_convertBdAddr2Str(pEvent->initDone.devAddr)); Display_print0(dispHandle, 2, 0, "Initialized"); // Prompt user to begin scanning. Display_print0(dispHandle, 5, 0, "Discover ->"); #ifdef FPGA_AUTO_CONNECT SimpleCentral_startGapDiscovery(); #endif // FPGA_AUTO_CONNECT } break;