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.

[参考译文] CC2652R7:我已将该板连接到我的嵌套。 我有办法让它通知我吗?

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1288263/cc2652r7-i-got-the-board-to-connect-to-my-nest-i-there-a-way-to-make-it-so-that-it-will-notify-me

器件型号:CC2652R7
主题中讨论的其他器件:SysConfigCC2674R10、LAUNCHCC3235MOD

我正在尝试创建一个接受输入、然后通知用户的器件。 例如、借助锁应用程序、它可以在锁打开和关闭时通知我的手机。

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

    尊敬的 Corey:

    在本地更改时、您能否确认 Google Home 应用程序是否收到 LOCK-APP 状态的更新(通过 LaunchPad 按钮)?  根据我过去的经验、Lighting-app、lock-app 和 pump-app 都将根据需要与其订户(已测试 Google 或 Apple 生态系统)报告状态更新、因为这些 Matter 控制器在默认情况下建立订阅。  Matter 设备不与手机保持蓝牙连接(BLE 仅用于配置/调试)、因此 Matter 控制器(Google Nest/Apple TV)和手机应用程序(Google Home/Apple Home)有责任相应地通知用户。

    此致、
    瑞安

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

    我可以更改 cc 器件的状态、但在器件锁定时未通知我。 我的最后一个游戏是能够检测引脚何时变为高电平的器件。 该引脚变为高电平时、它会向用户发送通知。 接下来、我还需要进行调整、以便用户可以将其设置为打开灯光或发出下一个声音。 我启动了锁定应用。 我把它设置成当它通过电话、cc 或巢锁闭时,它打开一个灯并播放一首歌曲。 但是,它没有通知我。 我还在尝试找出引脚的位置。 我以前在 CCS 上对它们进行了编程、但文件却不在同一个地方。

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

    您可以与 Google 讨论 Matter 控制器订阅设置。  通知不由 SimpleLink Matter 器件管理。  引脚 在 lock-app\cc13x2x7_26x2x7\chip.syscfg 中进行配置、并在 src lock-app\cc13x2x7_26x2x7\clasi\AppTask.cpp 中进行控制

    此致、
    瑞安

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

    这就是我当前所在的位置。 但是、我必须有一个 google sub 才能让我的设备通知用户? 这只是一个谷歌方面的事情,还是我必须也编程它?

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

    另外、非常感谢您的帮助。 非常感谢。

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

    如果 Google 正在向 Matter 设备发送订阅、则 SimpleLink 示例应自动支持该订阅并执行相应操作。

    此致、
    瑞安

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

    出于一些奇怪的原因、我无法让 CCS 打开 syscfg。 它在 Windows 上没有问题、但在 Linux 上没有问题。

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

    对于 Linux 和修改 Matter SysConfig 文件、我发现理想的解决方案是 使用独立工具 并在进行少量编辑后打开 chip.syscfg (也在 迁移指南中进行了介绍):  

    // @cliArgs --product <your_SDK_path_here>/.metadata/product.json --board /ti/boards/LAUNCHXL_CC2652R7 --rtos freertos

    此致、
    瑞安

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

    迁移指南未将我链接到任何内容、我也无法使用独立工具启动。

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

    链路应该有效。  您是否已登录 GitHub?  您如何启动 SysConfig 独立工具?遇到了哪些错误(如果有)?  Configure Matter Device Application SLA 的 SysConfig File 部分提供了类似的说明

    此致、
    瑞安  

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

    我仍然无法打开该文件。 但现在我有一个新问题。 我曾尝试向其添加输入引脚、但当我进行编译时、它显示"区域'闪存'溢出0个字节。

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

    您确切地如何尝试添加输入引脚、编译器上显示的确切错误是什么?  此外、尽管我不理解您的 Linux SysConfig 问题、但您可以尝试通过在发送到 Linux 系统之前在 Windows 环境中修改 SysConfig 文件来解决此问题。

    此致、
    瑞安

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

    失败:chip-lp_CC2652R7-lock-example.out chip-lp_CC2652R7-lock-example.out.map
    arm-none-eabi-g++-L..cc13x2x7_utils_build_linker.cmd.genlibs /../third_party/connectedhomeip/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source -T.r.packs /../third_party/connectedhomeip -platform/cc13xxrclip -26xx/cc13x2/cc13x2x7_mfrtos_ota.dsp 示例-armv7e-msp-cwl-float- c-tex-free-tex=from-fmsp-free-floature-f-specs-floatis - cwlp-ex-floatis -示例@ src
    /home/corey/connectedhomeip/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld:./Cchip-LP_CC2652R7-lock-example.out 部分`rodata'将不能装入区域` FLASH'
    /home/corey/connectedhomeip/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld:段.NVS VMA [000aa000,000adfff]与段.rodata VMA [00094,190,000b0bb6]重叠
    /home/corey/connectedhomeip/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld:区域`闪存'溢出0字节
    collect2:错误:LD 返回1个退出状态

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

    我尝试创建一个新的 SysConfig 文件、但不起作用。 只要我尝试把它放在 CCS 中,它就不会打开。 好的、我进入了 ti 驱动器并更改了其中一个未使用的引脚。 但是、结果是这样的。

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

    TI_DRIVERS_CONFIG.c 由 SysConfig 生成、不应手动编辑。  通常、这些文件的注释中会有尽可能多的警告。

    /*
     *  ======== ti_drivers_config.c ========
     *  Configured TI-Drivers module definitions
     *
     *  DO NOT EDIT - This file is generated for the LP_EM_CC2340R5
     *  by the SysConfig tool.
     */

    这也可能导致您观察到的闪存错误。  因此、我建议您针对所需的引脚更改直接修改 chip.syscfg 文件。  您可以遵循我之前引用的 SLA、以及您能够在 CCS 内或使用 Windows 独立工具打开的 SysConfig 文件示例。  下面是一些更改的伪代码:

    const GPIO        = scripting.addModule("/ti/drivers/GPIO", {}, false);
    const GPIO11      = GPIO.addInstance();
    
    GPIO11.$name = "CONFIG_GPIO_1";
    
    GPIO11.gpioPin.$suggestSolution              = "boosterpack.29";

    当然、应使用所需的 GPIO 标识通过 SysConfig 工具验证这一点。

    此致、
    瑞安

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

    问题是、每当我尝试打开 chip.syscfg 或 chip_ota.syscfg SysConfig 都无法打开文件。 我甚至无法在 Ubuntu 上打开 SysConfig 程序。 这就是我尝试通过代码对其进行编辑的原因。

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

    在尝试打开文件时、您会观察到哪些确切的错误?  请提供屏幕截图。

    此致、
    瑞安

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

    这就是我尝试在 CCS 中将其打开时会发生的情况。 我完全无法在 Ubuntu 上打开 SysConfig 程序。

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

    您将无法在 CCS 中打开 SysConfig 文件。  在下载和安装之后、应确保 sysconfig_gui.sh 是可执行的、  

    cd ~
    wget dr-download.ti.com/.../sysconfig-1.15.0_2826-setup.run
    chmod +x sysconfig-1.15.0_2826-setup.run
    ./sysconfig-1.15.0_2826-setup.run 
    
    cd ~/ti/sysconfig_1.15.0
    chmod +x sysconfig_gui.sh
    ./sysconfig_gui.sh

    此致、
    瑞安

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

    我以前试过 chmod 的东西,它不起作用。 页面找不到页面找不到对不起,您访问的页面不存在。 但是、这与我在 windows 上得到的响应是相同的。

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

    我解释了必要的.syscfg 代码行、必须在前面的 E2E 主题中添加该代码行、以便使用 SysConfig 独立工具打开:

    // @cliArgs --product <your_SDK_path_here>/.metadata/product.json --board /ti/boards/LAUNCHXL_CC2652R7 --rtos freertos

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

    我试了一下、它没有做任何事情。 它只是显示 COMMAND NOT FOUND。 我对此感到遗憾。 另一个 Launchpad 没有出现任何这些问题。

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

    我需要另一个有关该新问题的屏幕截图。  我也不知道您对"其他 LaunchPad"的具体意思、因为这些步骤不需要物理硬件连接。

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

    我还准备了一个 CC3235 Launchpad。 但是、工作需要这个。

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

    这不是我们要使用的命令行参数、

    此致、
    瑞安

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

    我让这一切都正常工作了。 很抱歉我漏掉了线路。 我仍在尝试修复闪存错误。 现在、我将查看添加到代码中的内容。 再次感谢您。

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

    我很抱歉不断打扰您、我是这款设备和这种语言的新手。 所以、我在学习。 你一直是一个巨大的帮助。 因此、再次感谢大家。 下一个问题是、我没有闪存。 我不知道是因为应用占用了太多的空间、还是因为我添加了代码。 我的最终目标是从器件获取输入、触发事件或通知、然后具有一个用作 OUT 的引脚、从而能够控制继电器。 但是、我的第一步是尝试具有输入。 我试图复制他们所写的按钮减去长按。 但它无法正常工作。 我说我在闪存中有0个字节。 但是、我只是不知道它是我添加的代码还是空间不够。 再次,我很抱歉一再向你提出问题。 但是,这是非常感谢。

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

    虽然误差本身没有意义、但我认为以下行(来自您之前的日志)更重要:

    .nvs VMA [000aa000,000adfff] overlaps section .rodata VMA [00094190,000b0bb6]

    这意味着只读数据扩展到0xb0bb6、并且由于 NVS 在0xaa000处启动、因此会产生0x6BB6的重叠、这非常重要。  您能确认默认项目构建没有错误吗?  到目前为止、您尝试实施的 SysConfig 和应用程序文件有哪些确切更改?  请尝试进行增量更改、以查找导致错误的原因。  另请注意、如果您计划为应用添加大量的功能、则应考虑使用 CC2674R10、因为此器件具有更多的闪存、并且 Matter 项目在 CC2652R7器件上已经受到很大限制。

    此致、
    瑞安

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

    这是 AppEvent.h、另一个是 AppTask.cpp。

    /*
     *
     *    Copyright (c) 2018 Nest Labs, Inc.
     *    All rights reserved.
     *
     *    Licensed under the Apache License, Version 2.0 (the "License");
     *    you may not use this file except in compliance with the License.
     *    You may obtain a copy of the License at
     *
     *        www.apache.org/.../LICENSE-2.0
     *
     *    Unless required by applicable law or agreed to in writing, software
     *    distributed under the License is distributed on an "AS IS" BASIS,
     *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     *    See the License for the specific language governing permissions and
     *    limitations under the License.
     */
    
    #ifndef APP_EVENT_H
    #define APP_EVENT_H
    
    struct AppEvent;
    typedef void (*EventHandler)(AppEvent *);
    
    struct AppEvent
    {
        enum AppEventType
        {
            kEventType_None = 0,
            kEventType_ButtonLeft,
            kEventType_ButtonRight,
            kEventType_AppEvent,
            kEventType_Pin23,
        };
    
        enum AppEventButtonType
        {
            kAppEventButtonType_None = 0,
            kAppEventButtonType_Clicked,
            kAppEventButtonType_LongClicked,
        };
    
        enum AppEventPinType
        {
    	kAppEventPinType_None = 0,
    	kAppEventPinType_Active,    
        };
    
        enum AppEventType Type;
    	
        union
        {
            struct
            {
                enum AppEventButtonType Type;
            } ButtonEvent;
            
            struct
            {
    	    enum AppEventPinType Type;
            } PinEvent;
    
            struct
            {
                void * Context;
            } BoltLockEvent;
        };
    
        EventHandler Handler;
    };
    
    #endif // APP_EVENT_H

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

    我还有一个 LAUNCHCC3235MOD。

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

    您正在使用何种连接方式?  我注意到一些 AppTask.cpp 代码与 主线不同、肯定会发生比仅添加 GPIO 更多的更改。  您也未提供 SysConfig 更改。  请确保  在重新编译之前完全删除以前的输出文件夹(rm -rf 编译)。  您还应该参考 有关 GPIO TI 驱动程序用法的 gpiointerrupt 示例。  PIN_23_OPEN API 没有上下文。

    此致、
    瑞安

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

    很抱歉、我花了这么长时间才回到你身边、我最终遇到了新冠疫情、不得不错过了工作。 这是我的 syscfg 文件。 我以前使用了 gpiointerrupt、并且没有问题地对其进行了修改。 你到底是什么意思? 我在 examples/lock-app/cc13x2x7_26x2x7中。

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

    尊敬的 Corey:

    by branch of connectedhomeip 您到底指什么?

    如果可以的话、Ryan 会要求您提供您的工作基础上的 Git 分支机构。 另外、如果能够提供 TI 代码的最后一次提交 ID、这样有助于我们确保引用的是相同的代码。

    此致、

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

    因此,我回去并更改了我的 args.GNI (我不得不更改它,因为我没有获得我的 QR 为董事会),我不再有一个闪光问题。 它已成功编译。

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

    尊敬的 Corey:

    感谢更新、很高兴您找到了它!

    您是否愿意分享您使用的 args.GNI 的变化? 这可以帮助其他 E2E 用户解决类似问题。

    by branch of connectedhomeip 您到底指的是什么? 我在 examples/lock-app/cc13x2x7_26x2x7

    您可以通过导航到相应的存储库("cd matery")、然后运行"git log"、找出命令行中的提交 ID。

    它会向您显示之前对代码库所做的更改、并且每个提交都有一个唯一的 ID (散列)。 这可以帮助我们确定您正在使用的代码库的版本、还可以向您推荐使用哪个版本。

    谢谢。
    托比

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

    Always check the args.gni file. It is located in ~/connectedhomeip/examples/lock-app/cc13x2x7_26x2x7. 
    Look for chip_progress_logging = true. 
    If it is not set to true, set it to true. 

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

    在我编辑它起作用的代码之前、我必须将该行更改为"true"。 之后、我从头开始、将我的2个文件和 SysConfig 文件放入新程序中、并且一直有效、直到我将该语句更改为 true。 但幸运的是、我仍然拥有 QR 代码。 但我不需要它。 我正在尝试创建一个从传感器获取输入并告诉 google home 的引脚。 例如有人打开一扇门时。 但是、首先我要尝试让引脚锁定"lock-app"。 但是、到目前为止、它还没有发挥作用。 它仍会编译、但引脚不执行任何操作。

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

    听起来您可以成功编译/编译、但运行时行为无法按预期工作。

    根据我的理解、您期望的行为是、当用户执行"锁定"(通过按下 Launchpad 上的按钮)时、锁的状态也会在 Google 主页端更新。

    您还尝试更新 syscfg 文件以使用不同的引脚实现不同的功能。

    总之、您有两件事:

    1. 尝试在 Google 主页上查看设备的更新状态(lock-app)
    2. 尝试更改引脚功能

    我建议首先确保1)工作:

    该功能应该是可行的、并且在默认情况下启用。
    您能否参阅此 SLA: https://dev.ti.com/tirex/explore/node?node=A__AciOYyNq9gli.nsvJzBtQg__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST

    具体来说、请参阅"任务3–加入 Matter Controller "一节、其中指示您在 Google 端创建 Matter Integration。

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

    我可以让它编译和工作,我可以得到它与我的 google nest 通信。 我一直在努力为其添加引脚、它仍然可以编译、但对引脚不执行任何操作。

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

    这是我目前拥有的文件。 我尝试使用他们的 GPIO 中断示例、以及如何对板进行编程、以接收一个输入并点亮 LED。 我不知道是否需要将 GPIO 引脚插入按钮之类的活动中。 但是,这是我第一次用这种语言编程。 我知道 Java、HTML、CSS、PHP、JavaScript 和 flutter/Dart。 但是、就像我说的那样、我能够让引脚更改引脚、而无需其他所有重要的东西。 我只是不知道从这里到哪里。

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

    我看了看你的代码。

    从我看到的情况来看、您正在尝试使用 CONFIG_GPIO_23上升沿来直接执行 LOCK_ACTION。
    不建议这样做。

    由于示例的体系结构*(AppTask 和 LockManager),我推荐以下方法。
    (*有些函数设计为在中断中执行、有些则在任务中执行)。

    遵循 如何处理按钮回调的流程。
    例如、  CONFIG_BTN_RIGHT 边沿将触发回调 ButtonRightEventHandler。
    在 ButtonRightEventHandler 中,它布置事件(xQueueSendFromISR),然后应用程序任务将在 AppTaskMain--> xQueueReceive--> DispatchEvent 中处理它。

    所以、如果你想要触发一个锁定操作、那么你应该布置到队列(xQueueSendFromISR)。
    进行完整性检查的最简单方法是:

    void gpioInputFxn1(uint_least8_t index)
    {
        ButtonRightEventHandler((Button_Handle)0, Button_EV_CLICKED);
    }

    理论上、此代码应与您单击 BTN_right (要锁定)的流程相同。

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

    我不知道该怎么说。" 我尝试了多种不同的方式,但不是这样。 谢谢

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

    它说,它"在这一范围内没有被宣布"。 特别是"ButtonRightEventHandler"

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

    尊敬的 Corey:

    我在尝试托比的建议时没有看到同样的错误。  请发布完整的错误日志以及完整的修改后的 AppTask.cpp 和 chip.syscfg、以便我们尝试重现问题并提供相应的建议。

    此致、
    瑞安

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

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

    谢谢 Corey。  不建议从另一个 GPIO 回调上下文调用按钮回调、因此您可以改为将 ButtonRightEventHandler 的内容复制/粘贴到 gpioInputFxn1中、以实现相同的目的:

    void gpioInputFxn1(uint_least8_t index)
    {
    //	ButtonRightEventHandler((Button_Handle)0, Button_EV_CLICKED);
    
        AppEvent event;
        event.Type = AppEvent::kEventType_ButtonRight;
        event.ButtonEvent.Type = AppEvent::kAppEventButtonType_Clicked;
        // button callbacks are in ISR context
        if (xQueueSendFromISR(sAppEventQueue, &event, NULL) != pdPASS)
        {
            /* Failed to post the message */
        }
    }

    我已确认此更改构建成功。

    此致、
    瑞安

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

    我必须将 GPIO 放在错误的区域。 因为我仍然不能让 Dio23工作。 我尝试将其放在多个位置。 我想它可以进入 AppTask、但在那里可以工作。 我还尝试将其作为独立功能、但这也不起作用。 我以前已经使 GPIO 正常工作、并确保我查看了示例、以确保我的操作正确、但我仍然必须缺少某些内容。 抱歉。

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

    您应该使用 GPIO_CFG_IN_PD 将 CONFIG_GPIO_23建立为具有内部下拉功能的输入引脚。

    GPIO_setConfig(CONFIG_GPIO_23, GPIO_CFG_IN_INT_RISING | GPIO_CFG_IN_PD);

    使用 GPIO_CFG_PULL_DOWN_INTERNAL 可能会导致该引脚不能建立为输入。  否则、您可能需要进一步调试应用以确定正在发生的情况。  您可以 启动手动 CCS 调试会话 并添加打印日志(PLAT_log)、以确定应用程序内部发生的情况。

    此致、
    瑞安

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

    这完全解决了问题、我不知道这是因为我看到的每个示例都有我拥有的东西。 另外、这是否会影响计时器功能?

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

    更改 GPIO 配置不应影响任何计时器功能。

    此致、
    瑞安