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.

[参考译文] CC2640R2F:定制板的外设连接超时错误

Guru**** 2609935 points
Other Parts Discussed in Thread: CC2640R2F, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1282926/cc2640r2f-peripheral-connection-timeout-error-with-custom-board

器件型号:CC2640R2F
主题中讨论的其他器件: UNIFLASH

您好!

我使用 2.7 x 2.7mm WCSP CC2640R2设计了我的定制板。 我按照文档中关于创建定制板的步骤操作。 以下是链接 https://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_5_30_00_03/docs/blestack/ble_user_guide/html/ble-stack-3.x/custom-hardware.html

我在 Resource Explorer 中创建了一个零项目、然后按照 对其他类似问题的回答进行操作。 我在启动文件夹中添加了必要的文件、调整了包括选项等。 但我唯一不确定的是配置自定义硬件的射频前端部分。 实际上、我不了解需要在该部分更改什么内容。 您能否更清楚地解释该部分?

我已成功将代码闪存到定制板中。 当我在手机上打开 Simplelink Connect 应用程序时、显示 Project Zero R2、但当我尝试连接时、它尝试持续3-5秒、显示外设连接超时错误。 简而言之,我的手机看到了板,但无法获得信号。 信号功率约为-75和-90 dB。 我不确定是由配置针对定制硬件部分的射频前端还是由我的 PCB 设计引起的。 我在手机上附上了错误消息的屏幕截图

我还附上了我更改的屏幕截图。

我使用的是 SDK_5.30和 CCS 12.3.0

此致、

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

    此外、我使用项目0进行了该尝试、但未添加任何代码、简单外设代码具有一些配置、但结果相同。  

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

    您好、Riza:

    您的射频前端配置与 Launchpad 相同吗?  然后在 CC2640R2_LAUNCHXL.h 中设置此定义 CC2650EM_7ID。

    总之、我建议由 TI 工程师审查您的设计。 供 TI 工程师进行回复。

    -克尔

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

    尊敬的 Kel:

    没有、我在 PCB 上使用了单端射频配置、如我所附的屏幕截图所示。 我在 Startup 文件夹的 CC2640R2DK_CXS.h 文件中定义了 CC26402EM_CXS。

    顺便说一下、我认为您是 TI 工程师。 因为您在上一个问题上为我提供了很多帮助。

    如果可以、我可以与 TI 工程师共享我的设计文档。

    此致、

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

    您好、Riza:

    我只是一个论坛成员。 你似乎在把一切都做好。 我唯一注意到的是您使用了\\\boards\CC2640R2DK_CXS 文件夹中的板级配置文件。

    例如、此射频前端定义 CC2650EM-4XS 也指此参考设计 CC2650EM-4XS-RD。 因此、通常人们会使用 \\boards\CC2640R2DK_4XS 中的板级配置文件。

    在您的情况下、没有适用于  CC2640R2DK_CXS 的参考设计。

    我使用的 CC2640R2F 4x4、5x5和7x7mm 封装。 我用于这些定制板的板级配置文件来自\\boards\CC2640R2_LAUNCHXL。 原因是它是最新的。 我只需修改板级配置文件即可适用于 定制板级配置。

    诸如 \\boards\CC2640R2DK_4XS 等文件夹中的其他电路板文件已很长时间未更新。

    因此、在您的情况下、我建议您使用 \\boards\CC2640R2_LAUNCHXL 中的板级配置文件。

    首选解决方案。 我以前工作过的硬件团队从 CC2650 uTag 之类的参考设计开始。 然后、我们根据我们的要求修改此参考设计。 因此、当我们完成定制 PCB 设计后、它很可能会起作用。

    -克尔

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

    您好、感谢您的建议、但遗憾的 是、更改定制电路板是一个昂贵的解决方案、因为我们已经拥有 PCB、我不确定它是来自 PCB 的。 如果 TI 的硬件工程师审查 PCB 布局、那就太棒了。 但以私人方式共享项目文件会更好。

    此外, 我附加的 PCB 设计注意事项文档(www.ti.com/.../swra640g)中提到的问题似乎与我所遇到的问题相同。 正如上文所述、我的定制板上不存在连接在32kHz 晶体和 GND 之间的两个电容器。 所以这一次、我将配置更改为使用32kHz 无晶振模式。 但是、除了信号 dB 电平、没有任何变化、仍然存在外设连接超时错误。

    顺便说一下、这次我处理的项目是 simple_peripheral 项目。 在32kHz 无晶振模式信号之前、dB 电平大约为-50/-70dB、使用32kHz 无晶振模式信号电平变得较弱(大约-70/-90dB)。

    我还附上了包含 simple_peripheral 项目的 zip 和 rar 文件。 如果您通过创建自定义板级配置文件步骤来控制文件、将不胜感激。

    顺便说一下、项目的目的是读取 ADC 引脚值之一并将其发送到移动电话。 项目资源管理器中的 CurrentLP 文件从 Sensor Controller Studio 导入。 它用于将两个 GPIO 引脚置为高电平。 它可以精确地在 CC2640R2 LaunchPad 上运行。 这方面没有问题。

    此致、

    e2e.ti.com/.../simple_5F00_peripheral_5F00_cc2640r2lp_5F00_app_5F00_CXS.rar

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

    您好、Riza:

    如果您希望 TI 工程师审查您的设计、可在此处提交。 https://www.ti.com/tool/SIMPLELINK-2-4GHZ-DESIGN-REVIEWS

    我的定制电路板上没有连接在32kHz 晶体和 GND 之间的两个电容器[/quot]

    但是、您似乎已经知道问题所在。 此外、使用与 launchpad 等参考设计相同的晶体也是明智之举。 如果将程序正确设置为运行32kHz 无晶振模式、并且仍然具有连接超时、则是硬件有问题或无法识别您的射频前端配置定义。 因为、如果设置错误、将出现连接问题。 总之、我将查看您的附加文件。

    -克尔

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

    您好、Riza:

    我将为您提供一组指令。 其目的只是将您的定制板与您的智能手机 IOS LightBlue 应用或 Android NRF Connect 应用连接。

    1.创建新的 CCSv12.3工作区、并从 blestack 文件夹中导入简单的外设。 重新编译所有堆栈、然后重新编译 app。

    2.在启动文件夹中删除 board.c。 然后从 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 中拖放板级配置文件。 您的 Startup 文件夹与此类似。

    3.打开 CC240R2_LAUNCHXL.c 并转至 CC2640R2_LAUNCHXL_initGeneral ()。 注释掉 Board_initHook()。

    4.注释掉 BoardGpioInitTable[]中的所有条目。

    5.根据此文档、您的射频前端配置为单端外部偏置、该文档已不再存在。

    6.打开 CC2640R2_LAUNCHXL.h 并将射频前端配置定义设置为 CC2650EM_4XS

    7.转到 simple peripheral app project properties->build->Arm Compiler->Predefined Symbols、然后设置预定义符号 USE_RCOSC。

    8.在 simple peripheral app 应用文件夹中、右键点击 rcosc_calibration.c 并取消选择"exclude from build"。

    9.在 simple peripheral app Startup 文件夹下、右键点击 ccfg_app_ble.c 并选择 Exclude from Build。

    10.在 simple peripheral app Startup 文件夹下、右键点击 ccfg_app_ble_rcosc.c 并取消选择 Exclude from Build。 在执行步骤8、9和10之后、简单外设应用文件夹和文件应如下所示。

    11.打开 simple_peripheral.c 将 board.h 更改为 B oard.h。 注释掉、包括 board_key.h。

    12.启用十六进制生成实用程序。 重新编译之后、将 hex 文件刷写到定制板中。

    那么、请告诉我您是否仍然存在连接问题。

    -克尔

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

    尊敬的 Kel:

    我将您的建议应用到新导入的简单外设项目一步一步,然后它工作!!! 我可以连接到手机。 因此问题似乎不在硬件上。 非常感谢。

    但这次我对修改后的 simple_peripheral 项目应用了相同的步骤。 遗憾的是、它未显示在手机上的 SimpleLink Connect 应用程序中。   它用于 ADC 值读数。 在 上一个问题中、您帮助我做到了。 您可能还记得。 总而言之、这与 该链接非常相似。 我创建了 simple_peripheral 项目。 我从 Sensor Controller Studio 添加了 ADC 读取代码和一些代码、以将2个 GPIO 引脚设置为高电平并将其添加到 SimplePeripheral_performPeriodicTask。 因为我希望周期性地执行这些操作。 此外、我添加了用于发送数据的服务。 该程序能够很好地在 LaunchPad 上运行、不会出现任何问题。

     在随附的屏幕截图中、ADC_open 函数是用 Board_ADC0编写的。 它用于 Launchpad。 但在我的自定义板(它是 CC2640R2 DSBGA)中、我希望将 DIO_11分配为 ADC。 在创建自定义板级配置文件时、显示我需要修改、但并未说明如何修改。 Launchpad 的 Board.h 文件。 我认为问题来自于修改问题、因为我在 ADC_open 行中添加了断点、然后它就在这里停止。

    我希望我可以告诉我的问题。  

    此致、

    e2e.ti.com/.../simple_5F00_peripheral_5F00_cc2640r2lp_5F00_app_5F00_BGA_5F00_not_5F00_connect.zip

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

    您好、我们提供了一些更新。 我更改了 Startup 目录中的文件。 我  从 C:/ti/simplelink_cc2640r2_sdk_5_30_00_03/source_ti_blestack_boards_CC2640R2DK_CXS 中删除了 board.h、CC2640R2_LAUNCHXL.c、CC2640R2_LAUNCHXL.h、而不是这些文件。 这一次我可以 进行连接、Sensor Controller Studio 中的功能 会定期工作(设置为高电平 DIO_7和 DIO_9)、这一点不是问题。 剩下的唯一问题是如何将 Board_ADC0配置为 DIO_11。 我可以在手机上读取 ADC 值、并在 CCS 上读取表达部分。 但它们看起来像是浮点值而不是在 DIO_11上。

    此致、

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

    您好、Riza:

    打开 CC2640R2DK_CXS.c 并转至 adcCC26xxHWAttrs[]。 将 CC2640R2DK_CXS_DIO11_ANALOG 设置为 .adcDIO、请参阅下面的。

    const ADCCC26XX_HWAttrs adcCC26xxHWAttrs[CC2640R2DK_CXS_ADCCOUNT] = {
       {
            .adcDIO              = CC2640R2DK_CXS_DIO11_ANALOG,
            .adcCompBInput       = ADC_COMPB_IN_AUXIO7,
            .refSource           = ADCCC26XX_FIXED_REFERENCE,
            .samplingDuration    = ADCCC26XX_SAMPLING_DURATION_2P7_US,
            .inputScalingEnabled = true,
            .triggerSource       = ADCCC26XX_TRIGGER_MANUAL,
            .returnAdjustedVal   = 0
        },

    请访问 Board.h

    #define Board_ADC0              CC2640R2DK_CXS_ADC1

    请告诉我这是否起作用。

    -克尔

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

    尊敬的 Kel:

    最终、它能够正常工作。 我分别连接3.3V 和 GND、并且可以在手机上查看它们的值。 非常感谢。 你帮了我很多。

    我更改的唯一内容是 adcCompBInput。 因为 CC2640R2DK_CXS_DIO11_ANALOG 用 ADC_COMPB_IN_AUXIO3而非  ADC_COMPB_IN_AUXIO7进行定义。

    此致、

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

     尊敬的

    我注意到、完成这些步骤后、在终止调试会话时无法从手机连接 simple_peripheral 项目。  

    我找不到导致上述问题的代码行。 以前、即使我终止调试会话或关闭电源、当我连接3.3V 和 GND 时、我也可以连接程序。

    此外、我还从 Project > Properties > Arm Hex Utiliy 中启用了"Arm Hex Utility"、如所附的屏幕截图所示。 生成全部文件、文件创建如附件屏幕截图所示。 我下载了 UniFlash 程序。 我将生成的十六进制文件分别添加到了 Uniflash 并加载了映像和验证映像。 在控制台中、显示程序加载成功、但在 SimpleLink 应用程序上不进行广播。

    因此、如果可能、我希望只使用 CCS 来刷写程序。

    此致、

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

    您好、Riza:

    如果已使用了 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 中的板级配置文件并进行了我建议的修改、它将在刷写十六进制文件后进行广播和连接。

    来自 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2DK_CXS 的电路板文件我不确定它与 SDKv5.30中的简单外设是否兼容。

    如果电路板未进行广播和连接、则可能存在挂起、您需要对其进行调试。

    -克尔

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

    您好!

    我使用了  C:\ti_simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2DK_CXS 、因为我的自定义板仅适用于这些板文件。 根据 此处的 C:\ti/simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 的板级文件、它将变为不可连接状态。 因此、我必须使用 CXS 板级配置文件。

    实际上、当我进行调试并按下"恢复"按钮时、它会进行广播并成为可连接的、因此它可以正常工作。 当我终止程序时问题开始。 连接已断开、不再广播。

    对于以前的代码(无需定制电路板修改)、即使我复位或终止、在连接3.3V 时、它也是在广播但不可连接。 该问题在您建议的修改后出现。

    另外,在 launchpad (具有7*7 IC)和 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 板级配置文件)上,一旦进行调试,我就可以从手机进行连接,但在终止或复位后没有连接中断。

     为了解决此问题、我需要更改代码中的哪些内容? 或为什么即使 Uniflash 上显示"program load sucleared"、程序仍然无法刷写。

    我附加了包含所有项目文件的 rar 文件。

    此致、

    e2e.ti.com/.../simple_5F00_peripheral_5F00_resume_5F00_problem.rar  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用了  C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2DK_CXS 、因为我的自定义电路板仅适用于这些板文件。 根据 此处的 C:\ti/simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 的板级文件、它将变为不可连接状态。 因此,我必须使用 CXS 板级配置文件。

    只是为了提醒你 ,你回复10天前"我把你的建议应用到新导入的简单外设项目一步一步,然后它工作!!! 我可以连接到手机。 因此问题似乎不在硬件上。 "谢谢你。"

    如果只从  C:\ti/simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 复制原始板级配置文件、而未进行适当修改、因为我已指示它将挂起而不进行广播。

     只要您正确修改了它们、C:\ti/simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 中的板级配置文件就适用于任何 CC2640R2F 封装大小。

    尝试对电路板文件 CC2640R2_LAUNCHXL 和 CC2640R2DK_CXS 进行代码比较、并了解差异。

    我需要 在代码中更改什么才能解决此问题? 或者为什么即使 Uniflash 上显示"program load successfully"、程序仍然无法刷新。

    请试用 SmartRF Flash Programmer 2。 刷写 hex 文件后、电路板需要工作。 如果不是、则存在其他问题。

    -克尔

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

    您好!

    首先感谢您的耐心。 回复需要大量 时间、因为我不想在不亲自处理的情况下给出答案。

    很抱歉解释不好,我的意思是如果我应用您建议的说明(来自  C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 以及新创建的简单外设项目上的板级配置文件),我可以连接手机但没有 ADC 相关代码。  使用 C:\ti_simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 文件时、程序仅用于与移动电话的连接、如您所述。

    添加 ADC 相关代码会使其成为非广播和不可连接的代码。  要解决这个问题、我使用 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2DK_CXS 中的板级配置文件。 但这次我只能在调试时连接和读取 ADC 值。 我这样做是因为对于新手来说、正确地为 LAUNCHXL 修改电路板文件真的很困难。

    经过详细检查、我认为闪存问题来自 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL。 其中存在与闪存相关的代码。 我将它从 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 复制到 Startup 文件夹、因为在 C:\ti\simplelink_cc2640r2_sdk_5_laUNCHXL 中没有等效的(请执行相同的作业文件)、 我认为、 为了使其适用于 CXS 封装 IC、我需要对 CC2640R2_LAUNCHXL_Fxns.c 文件进行一些修改、但我不能这样做。 因为在 C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\source\ti\blestack\boards\CC2640R2_LAUNCHXL 中的板级文件中定义了函数。 此外、 TXS 封装的 SPI 引脚编号也不同。 CXS 包是否有与闪存相关的文件(执行相同的作业)? 或者我如何修改它?

    此外、我还尝试使用 SmartRF Flash Programmer 2进行刷写。 它也显示出像 Uniflash 一样的成功,但在 手机上没有任何变化(没有广告)。 我附上了屏幕截图。 我像往常一样从 Launchpad 上连接了3V3、GND、RESET、TMS 和 TCK。 是否需要任何其他器件或仅 Launchpad 便足以从 SmartRF Flash Programmer 2进行闪存。

    此致、  

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

    您好、Riza:

    在 CC2640R2DK_CXS.c -> BoardGpioInitTable[]中,注释掉所有表条目。  

    -克尔

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

    您好、已经按照您的建议添加了注释。 不带注释、但 PIN_TERMINATE 除外、全部都带注释。

    所有注释都不起作用。 添加了注释、PIN_TERMINATE 不刷写。 未注释的内容不会刷写。

    这是3个版本。

     *  =============================== PIN ===============================
     */
    #include <ti/drivers/PIN.h>
    #include <ti/drivers/pin/PINCC26XX.h>
    // commented by riza 6.11.23
    const PIN_Config BoardGpioInitTable[] = {
    
    //    CC2640R2DK_CXS_PIN_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,  /* LED initially off */
    //    CC2640R2DK_CXS_PIN_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,  /* LED initially off */
    //    CC2640R2DK_CXS_KEY_SELECT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                   /* Button is active low */
    //    CC2640R2DK_CXS_KEY_UP | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                       /* Button is active low */
    //    CC2640R2DK_CXS_KEY_DOWN | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                     /* Button is active low */
    //    CC2640R2DK_CXS_KEY_LEFT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                     /* Button is active low */
    //    CC2640R2DK_CXS_KEY_RIGHT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                    /* Button is active low */
    //    CC2640R2DK_CXS_3V3_EN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                 /* 3V3 domain off initially */
    //    CC2640R2DK_CXS_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,               /* UART TX pin at inactive level */
    
        PIN_TERMINATE
    };
     *  =============================== PIN ===============================
     */
    #include <ti/drivers/PIN.h>
    #include <ti/drivers/pin/PINCC26XX.h>
    // commented by riza 6.11.23
    const PIN_Config BoardGpioInitTable[] = {
    
        CC2640R2DK_CXS_PIN_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,  /* LED initially off */
        CC2640R2DK_CXS_PIN_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,  /* LED initially off */
        CC2640R2DK_CXS_KEY_SELECT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                   /* Button is active low */
        CC2640R2DK_CXS_KEY_UP | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                       /* Button is active low */
        CC2640R2DK_CXS_KEY_DOWN | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                     /* Button is active low */
        CC2640R2DK_CXS_KEY_LEFT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                     /* Button is active low */
        CC2640R2DK_CXS_KEY_RIGHT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                    /* Button is active low */
        CC2640R2DK_CXS_3V3_EN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                 /* 3V3 domain off initially */
        CC2640R2DK_CXS_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,               /* UART TX pin at inactive level */
    
        PIN_TERMINATE
    };
    
     *  =============================== PIN ===============================
     */
    #include <ti/drivers/PIN.h>
    #include <ti/drivers/pin/PINCC26XX.h>
    // commented by riza 6.11.23
    const PIN_Config BoardGpioInitTable[] = {
    
        CC2640R2DK_CXS_PIN_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,  /* LED initially off */
        CC2640R2DK_CXS_PIN_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,  /* LED initially off */
        CC2640R2DK_CXS_KEY_SELECT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                   /* Button is active low */
        CC2640R2DK_CXS_KEY_UP | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                       /* Button is active low */
        CC2640R2DK_CXS_KEY_DOWN | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                     /* Button is active low */
        CC2640R2DK_CXS_KEY_LEFT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                     /* Button is active low */
        CC2640R2DK_CXS_KEY_RIGHT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,                    /* Button is active low */
        CC2640R2DK_CXS_3V3_EN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                 /* 3V3 domain off initially */
        CC2640R2DK_CXS_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,               /* UART TX pin at inactive level */
    
        PIN_TERMINATE
    };
    

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

    您好、Riza:

    按照我的指示、设置您的代码以使用 CC2640R2_LAUNCHXL 板级配置文件。 刷写 hex 文件并测试它是否能够连接到智能手机。 这很重要。 如果电路板在刷写十六进制文件后未进行广播、则存在其他一些问题。

    因此、基本而言、 您需要将 CC2640R2DK_CXS.c 中的 ADC 代码移植到 CC2640R2_LAUNCHXL.c。

     CC2640R2_LAUNCHXL.h 上的所有引脚定义(如 CC2640R2_LAUNCHXL_DIO0)、您需要设置为 PIN_未 分配。

    这并不困难、但您需要在执行此操作时保持精确。

    -克尔