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.

[参考译文] CC2564MODA:[CC2564]器件在 Bluetopia 栈初始化后不可连接且不会广播

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/993729/cc2564moda-cc2564-device-is-not-connectable-and-not-advertising-after-bluetopia-stack-initialization

器件型号:CC2564MODA
主题中讨论的其他器件: MSP432E401YMSP432P401RCC2564CC2564CMSP-EXP432E401YCC2564MODNEM

您好!

我将 MSP432E401Y 与 CC2564MODA 蓝牙模块搭配使用。 此时、我能够使用 Bluetopia 堆栈与模块进行通信。

我正在成功调用 InitializeApplication()函数,我们可以在 SPPDemo.c 文件(\samples\SPPDemo)中找到该函数。 初始化蓝牙堆栈后,我可以使用 OpenServer()打开 SPP 服务器,并定期调用 BTPS_ProcessScheduler()。 但此时、我的设备未进行广播、也不接受蓝牙连接。

运行代码时、调试控制台上会提供以下输出:

Openstack()。
蓝牙堆栈 ID:1.
器件芯片组:4.1
BTPS 版本 :4.0.3.0
项目类型 :6.
固件版本   :7.26
本地 BD_ADDR:CC:78:AB:7D:84:B8
本地设备名称():my_BTH_device
服务器已打开:1.

当我使用 GAP_Query_connectability 模式()GAP_Query_discoverability 模式() GAP_Query_Pairability 模式()查询当前模式参数时,所有模式都可以。

有人能告诉我、我应该采取什么程序来检测任何异常吗?

此致
Nuno Dias

--------------------------------------

下面是一些代码片段、我是从 Bluetopia 栈示例中提取的:

int bluetooth_init (void)

int bluetooth_init(void) {
   DEBUG_MSG("");

   int                           Result;
   BTPS_Initialization_t         BTPS_Initialization;
   HCI_DriverInformation_t       HCI_DriverInformation;
   HCI_HCILLConfiguration_t      HCILLConfig;
   HCI_Driver_Reconfigure_Data_t DriverReconfigureData;

   /* Configure the hardware for its intended use.                      */
   HAL_ConfigureHardware();

   /* Configure the UART Parameters nd Initialize the Bluetooth Stack.  */
   HCI_DRIVER_SET_COMM_INFORMATION(&HCI_DriverInformation, 1, HAL_HCI_UART_MAX_BAUD_RATE, cpHCILL_RTS_CTS);
   HCI_DriverInformation.DriverInformation.COMMDriverInformation.InitializationDelay = 100;

   /* Set up the application callbacks.                                 */
   BTPS_Initialization.GetTickCountCallback  = getTickCountCallback;
   BTPS_Initialization.MessageOutputCallback = msgOutputCallback;

   /* Initialize the application.                                       */
   Result = InitializeApplication(&HCI_DriverInformation, &BTPS_Initialization);
   if (Result > 0) {
      /* Save the Bluetooth Stack ID.                                   */
      BluetoothStackID = (unsigned int)Result;
      Result = OpenServer(SPP_PORT_NUMBER_MINIMUM);
   } else {
      DisplayFunctionError("Initialize the application", Result);
   }


int 初始化应用程序(HCI_DriverInformation_t * HCI_DriverInformation、BTPS_Initialization_t * BTPS_Initialization)

/* The following function is used to initialize the application      */
/* instance.  This function should open the stack and prepare to     */
/* execute commands based on user input.  The first parameter passed */
/* to this function is the HCI Driver Information that will be used  */
/* when opening the stack and the second parameter is used to pass   */
/* parameters to BTPS_Init.  This function returns the               */
/* BluetoothStackID returned from BSC_Initialize on success or a     */
/* negative error code (of the form APPLICATION_ERROR_XXX).          */
int InitializeApplication(HCI_DriverInformation_t *HCI_DriverInformation, BTPS_Initialization_t *BTPS_Initialization)
{
   int ret_val = APPLICATION_ERROR_UNABLE_TO_OPEN_STACK;

   /* Initialize some defaults.                                         */
   SerialPortID           = 0;
   bthRole                = BTH_ROLE_NONE;
   NumberofValidResponses = 0;

   /* Next, makes sure that the Driver Information passed appears to be */
   /* semi-valid.                                                       */
   if((HCI_DriverInformation) && (BTPS_Initialization))
   {
      /* Try to Open the stack and check if it was successful.          */
      if(!OpenStack(HCI_DriverInformation, BTPS_Initialization))
      {
         /* The stack was opened successfully.  Now set some defaults.  */

         /* First, attempt to set the Device to be Connectable.         */
         ret_val = SetConnect();

         /* Next, check to see if the Device was successfully made      */
         /* Connectable.                                                */
         if(!ret_val)
         {
            /* Now that the device is Connectable attempt to make it    */
            /* Discoverable.                                            */
            ret_val = SetDisc();

            /* Next, check to see if the Device was successfully made   */
            /* Discoverable.                                            */
            if(!ret_val)
            {
               /* Now that the device is discoverable attempt to make it*/
               /* pairable.                                             */
               ret_val = SetPairable();
               if(!ret_val)
               {
                  /* Attempt to register a HCI Event Callback.          */
                  ret_val = HCI_Register_Event_Callback(BluetoothStackID, HCI_Event_Callback, (unsigned long)NULL);
                  if(ret_val > 0)
                  {
                     /* Assign a NULL BD_ADDR for comparison.           */
                     ASSIGN_BD_ADDR(NullADDR, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);

                     /* Save the maximum supported baud rate.           */
                     MaxBaudRate = (DWord_t)(HCI_DriverInformation->DriverInformation.COMMDriverInformation.BaudRate);

                     /* Return success to the caller.                   */
                     ret_val = (int)BluetoothStackID;
                  }
                  else
                     DisplayFunctionError("HCI_Register_Event_Callback()", ret_val);
               }
               else
                  DisplayFunctionError("SetPairable", ret_val);
            }
            else
               DisplayFunctionError("SetDisc", ret_val);
         }
         else
            DisplayFunctionError("SetDisc", ret_val);

         /* In some error occurred then close the stack.                */
         if(ret_val < 0)
         {
            /* Close the Bluetooth Stack.                               */
            CloseStack();
         }
      }
      else
      {
         /* There was an error while attempting to open the Stack.      */
         Display(("Unable to open the stack.\r\n"));
      }
   }
   else
      ret_val = APPLICATION_ERROR_INVALID_PARAMETERS;

   return(ret_val);
}

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

    您是否对 SDK 版本演示或 HAL 进行了任何修改? 您可以使用 FW 日志进行检查吗?

    e2e.ti.com/.../6201.CC256x-Logger-User-Guide-_2D00_-Texas-Instruments-Wiki.pdf

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

    您好、

    首先、感谢您分享有关记录器工具的本文档。 这将在将来非常有用。

    我已使用 SPP 演示(MSP432P401R)作为代码基础。 但我对 HAL 进行了一些修改、因为我使用的是包含 MSP432E401Y 和 SimpleLink MCU SDK 驱动程序 API 的定制板。
       MCU 和  CC2564之间的通信 似乎   正常。

    下面、我提供了一个链接、其中包含使用 ccpHCILL_RTS_CTS 和 ccpUART_RTS_CTS 时获取的日志、这些日志定义为 HCI 串行协议: https://drive.google.com/drive/folders/1yJUdcLMiEfilllAJrZLhV9Ku5VSbLquG

    • 4月16日- Log_cpHCILL_RTS_CTS.lmgr
    • 2014年4月16日- Log_cpuart_rts_cts.lmgr
    • 16Apr21-Log_exported_cpHCILL_RTS_CTS.txt
    • 16Apr21-Log_exported_cpUART_RTS_CTS.txt



    此致
    Nuno Dias

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

    它看起来像是电路板定制问题。 很难说出发生了什么错误。  硬件流控制配置是否正确?  

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

    对逻辑分析仪中的信号进行可视化似乎一切正常。 此外设置似乎设置正确、因为当我在初始化后查询这些设置时、设置正确提供。  

    在记录器工具上、我在最后收到此错误 这是正常行为吗?

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

    在下载修补程序时、会出现一些损坏。 您是否有 MSP432和 CC2564C 参考板/平台可以尝试使用已发布的 MSP432Bluetopia SDK?

    谢谢

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

    您好、 

    我们有一个 Launchpad MSP-EXP432E401Y 评估板(https://www.ti.com/tool/MSP-EXP432E401Y)和一个 CC2564MODNEM (https://www.ti.com/tool/CC2564MODNEM)。
    我从未使用过这两种器件、因为它们不兼容引脚。 目前我没有 MSP-EXP432P401R 板。
    这样、我就无法测试 MSP432Bluetopia SDK 中包含的样片。

    我可以通过一些导线连接将 CC2564MODNEM 板连接到我的 Launchpad、并检查固件(HAL)或硬件方面的问题。


    同时、您能否告诉我 MSP-EXP432E401Y Launchpad 是否有任何可用的示例测试代码/项目、或者我可以采取哪些其他步骤?

    此致
    Nuno Dias

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

    用于 MSP432的 Bluetopia SDK 仅使用 MSP-EXP432P401R LaunchPad 进行了测试。 这些 SDK 旨在展示 BT 配置文件和堆栈。  

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

    您好、

    使用 Launchpad MSP-EXP432E401Y 和 CC2564MODNEM 进行测试、结果完全相同。 以下位置提供的日志: 链接(Google Drive)

    • 23Apr21-Log_cpHCILL_RTS_CTS_Launchpad
    • 23Apr21-Log_cpHCILL_RTS_CTS_Launchpad (2).lgr
    • 23Apr21-Log_exported_cpHCILL_RTS_CTS_Launcpad.txt
    • 23Apr21-Log_exported_cpHCILL_RTS_CTS_Launchpad (2).txt

    我测试了连接所有 UART 信号(Tx、Rx、RTS、CTS)和关断引脚的方法。

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

    我尝试了使用 BOOST-CC2564MODA (CC2564B)的 MSP-EXP432P401R LP 进行设置、但在 TI Bluetopia SDK 版本中工作正常。

    /*配置 UART 参数。 *
    HCI_DRIVER_SET_COMM_information (&HCI_DriverInformation、1、HAL_HCI_UART_MAX_BAUD_RATE、cpHCILL_RTS_CTS);

    谢谢

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

    :您是否能够在设置中收集日志以便我可以与我的一侧的日志进行比较?:

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

    好的... 我将在一天或两天内发送...

    谢谢

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

    您好、

    您能看一下我在将基本补丁从"\Bluetopia\btpsvend\cC256XB.h"切换到"\Bluetopia\btpsvend\cC256X.h"设置_support_CC256X_patch__ define macro: link"后收集到的日志


    现在、在初始化堆栈后、我不会遇到任何错误尽管如此、我仍然无法通告调制解调器

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

    您能否将捕获的记录器文件发送给我? 即*。ldr

    谢谢

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

    您好、

    日志的 URL 链接位于上一个帖子 中:https://drive.google.com/file/d/1lnXj4yhFhkEZU3EZympaC8SZkMDt7DT6/view?usp=sharing

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

    日志看起来不错。。。 我将与我的设置日志进行比较、然后返回。

    谢谢