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.

[参考译文] CC2745R10-Q1:2745 BLE 连接

Guru**** 2319620 points
Other Parts Discussed in Thread: CC2745R10-Q1
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1502478/cc2745r10-q1-2745-ble-connect

器件型号:CC2745R10-Q1

工具/软件:

您好、TI

 我将 TI\simplelink_lowpower_f3_SDK_8_40_00_61\examples\rtos\LP_EM_CC2745-Q1\ble5stack\basic_ble 作为中央器件、而将 TI\simplelink_lowpower_f3_SDK_8_20_00_119\examples\rtos\LP_EM_R53\ble5导电 外设连接 CC2340R10作为 BLE 外设连接。

  我设置了2745 自动连接。过程如下: 1. .(void) BLEAppUtil_SCANStart(&centralScanStartParams);-->  2. .match device  --> 3. .BLEAppUtil_scanStop();--> 4. .(void) BLEAppUtil_connect (&connParams);--> 5. 连接状态:已建立-->睡眠(30)--> 6. .BLEAppUtil_DISCONNECT(gapEstMsg->connectionHandle);--> 1. .(void) BLEAppUtil_SCANStart (&centralScanStartParams);

 重复上述过程 几次后,我发现2340作为外设仍在广播 ,但  2745将在步骤4.BLEAppUtil_CONNECT 停止 ,无法建立连接作为步骤5。

 

           

        case BLEAPPUTIL_SCAN_DISABLED:
        {
            uint8 i;
            for(i = 0; i < APP_MAX_NUM_OF_ADV_REPORTS; i++)
            {
                memset(&centralScanRes[i], 0, sizeof(App_scanResults));
            }

            // Go over the advertise reports that was saved in the host level and save it
            for (i = 0; i < scanMsg->pBuf->pScanDis.numReport; i++)
            {
              GapScan_Evt_AdvRpt_t advReport;
              // Get the address from the report
              GapScan_getAdvReport(i, &advReport);
              // Add the report to the scan list
              Central_addScanRes(&advReport);
            }
            MenuModule_printf(APP_MENU_SCAN_EVENT, 0, "Scan status: Scan disabled - "
                              "Reason: " MENU_MODULE_COLOR_YELLOW "%d " MENU_MODULE_COLOR_RESET
                              "Num results: " MENU_MODULE_COLOR_YELLOW "%d " MENU_MODULE_COLOR_RESET,
                              scanMsg->pBuf->pScanDis.reason,
                              scanMsg->pBuf->pScanDis.numReport);
            if (ready_to_conn == 1)
            {
                BLEAppUtil_ConnectParams_t connParams =
                {
                 .peerAddrType = match_addrtype,
                 .phys = INIT_PHY_1M,
                 .timeout = 1000
                };
                memcpy(connParams.pPeerAddress, match_addr, B_ADDR_LEN);
                (void)BLEAppUtil_connect(&connParams);
                MenuModule_printf(APP_MENU_SCAN_EVENT, 0, "\n ====BLEAppUtil_connect=====\n");
            }

如上面的代码所示、日志已打印"===BLEAppUtil_CONNECT====== 作为第33行。 BLEAppUtil_connect 已运行但无法建立连接

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Peisheng:  

    首先、什么是终端设备? 其次、ready_to_conn 设置在哪里? 如果您在扫描期间看到要连接的 CC2340器件、我假设变量设置为1?  

    如果没有、您如何指示您在扫描期间看到正确的 CC2340器件?  

    请告诉我。  

    谢谢、
    Isaac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Isaac

    首先、我使用的所有电路板都来自 TI。 其次、是的、如果我看到在扫描期间要连接的 CC2340器件、则变量设置为1。我设置了一个特殊名称。 我在手机上搜索过。 在我的环境中,只有正确的2340被设置为这个名称。当我找到它,我将键入的名称,以确保它连接到正确的2340。我确保2745找到正确的2340,问题是,情况下,程序被卡住,我提到上面发生了几次成功的连接。我需要该程序持续运行整个晚上

    static bool CheckScanEventLegacy(bleStk_GapScan_Evt_AdvRpt_t* pAdvReport)
    {
        uint32_t index = 0;
        bool foundMatch = FALSE;
        uint8_t Receive_Ecu_Data[6] = {0x39, 0x59, 0x59, 0x59, 0x59, 0x5A};
        while (index < pAdvReport->dataLen)
        {
            gapAdStructure_t adElement;
    
            adElement.length = pAdvReport->pData[index];
            adElement.adType = pAdvReport->pData[index + 1U];
            adElement.aData = &pAdvReport->pData[index + 2U];
    
            if(adElement.adType == 0x09U)
            {
                MenuModule_printf(APP_MENU_SCAN_EVENT, 0, "XXXXX:[%s]\n", BLEAppUtil_convertBdAddr2Str(adElement.aData));
                foundMatch = FLib_MemCmp(&(adElement.aData[0]), &(Receive_Ecu_Data[0]), 6);
                if(foundMatch)
                {
                    MenuModule_printf(APP_MENU_SCAN_EVENT, 0, "match!!! localname:[%s]\n", BLEAppUtil_convertBdAddr2Str(adElement.aData));
                    ready_to_conn = 1;
                    BLEAppUtil_scanStop();
                    break;
                }
            }
    
            /* Move on to the next AD element type */
            index += (uint32_t)adElement.length + sizeof(uint8_t);
        }
    
        return foundMatch;
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Peisheng:  

    很抱歉耽误你的时间。 我将在星期五(04/25)结束前作出答复。  

    谢谢、

    Isaac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Peisheng:  

    1.整晚运行程序时、您看到了什么?  

    2.您使用什么事件来表示已建立连接,BLEAPPUTIL_LINK_RESIDEND_EVENT ?

    3.函数卡住时,可以发送调用栈的图片吗?  

    4.尝试进行连接时,您是否看到 BLEApp Util_Connect 函数超时?  

    请告诉我。  

    谢谢、
    Isaac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Isaac

    很抱歉我迟到了。因为我想看看最新 SDK 上是否有这样的问题,但直到今天我才找到类似的问题。

     1.我看到我的程序不断扫描,停止扫描,连接,连接120秒进入关机,然后再次站起来重复上述步骤。重复几个小时后,它卡在我上面提到的地方。

      我 用于指示已建立连接的事件、BLEAPPUTIL_LINK_INSTABLE_EVENT。

    3.

    4.我没有看到超时

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Peisheng:  

    感谢您的答复。 我将在星期五(05/23)结束前作出答复。  

    谢谢、
    Isaac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Isaac、

     我想添加一些信息。我将 TI\simplelink_lowpower_f3_SDK_9_10_00_83\examples\rtos\LP_EM_CC2745R10-Q1\ble\car_node 用作 外设+中央器件。  并将 TI\simplelink_lowpower_f3_SDK_9_10_00_83\examples\rtos\LP_EM_CC2340R53\ble\basic_ble 用作 外设。

      我没有更改任何代码、2,340,2745添加了上面显示的有关扫描到目标时自动连接的代码。

     我前面提到的情况也发生在主 PHY 间隔2340增加到2500ms 时。2745 扫描了目标、停止扫描但没有建立 BLE 连接。当我缩短了主 PHY 间隔2340时、 BLE 可以再次正常连接。

     下图显示了我的2745的扫描参数设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Peisheng:  

    对延迟深表歉意。 您是否捕获了嗅探器日志?  

    看起来中央设备(汽车节点)卡在睡眠状态、然后不再连接。 当缩短主 PHY 间隔时、问题是否重现?  

    另外、您看到了什么扫描行为? 中央扫描时间是否为127995ms?  

    请告诉我。  

    谢谢、
    Isaac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Isaac、

    当 我缩短主 PHY 间隔时、不会出现问题。

    扫描仍在继续、是的。