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:SDK 示例 echosinglechChannel 初始化代码

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1123033/cc2640r2f-sdk-example-echosinglechannel-initialization-code

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

大家好、

以下是客户提出的问题、可能需要您的帮助:

从电路板资源的角度来看、ADC0在 DIO23上输入、ADC1在 DIO24上输入:

Board_init()在进入 main()后首先执行;

Board_init()也调用 CC2640R2_LAUNCHXL_initGeneral();

在 CC2640R2_LAUNCHXL_initGeneral()中;执行 Power_init();然后执行 PIN_init();

1) Power_init()做什么?初始化电源相关资源?但似乎再次处理时钟。 如果应用不涉及电源管理、是否可以在不修改内容的情况下直接调用它?

 *  ======== Power_init ========
 */
int_fast16_t Power_init()
{
    ClockP_Params clockParams;
    uint32_t ccfgLfClkSrc;
    uint32_t timeout;

    /* if this function has already been called, just return */
    if (PowerCC26XX_module.initialized) {
        return (Power_SOK);
    }

#if defined(DeviceFamily_CC26X0R2)
    /* check to see if the JTAG_PD is on, meaning the emulator was attached during boot and */
    /* that the user is in an active debug session */
    PowerCC26XX_module.emulatorAttached = (HWREG(AON_WUC_BASE + AON_WUC_O_PWRSTAT) & AON_WUC_PWRSTAT_JTAG_PD_ON) == AON_WUC_PWRSTAT_JTAG_PD_ON;
#endif

    /* set module state field 'initialized' to true */
    PowerCC26XX_module.initialized = true;

    /* set the module state enablePolicy field */
    PowerCC26XX_module.enablePolicy = PowerCC26XX_config.enablePolicy;

    /* copy the Power policy function to module state */
    PowerCC26XX_module.policyFxn = PowerCC26XX_config.policyFxn;

    /* construct the Clock object for scheduling of wakeups */
    /* initiated and started by the power policy */
    ClockP_Params_init(&clockParams);
    clockParams.period = 0;
    clockParams.startFlag = false;
    clockParams.arg = 0;
    ClockP_construct(&PowerCC26XX_module.clockObj, &emptyClockFunc,
        0, &clockParams);

    /* construct the Clock object for XOSC_HF switching */
    /* initiated and started by Power module when activating XOSC_HF */
    ClockP_construct(&PowerCC26XX_module.xoscClockObj, &switchXOSCHFclockFunc,
        0, &clockParams);

    /* construct the Clock object for disabling LF clock quailifiers */
    /* one shot, auto start, first expires at 100 msec */
    ClockP_construct(&PowerCC26XX_module.lfClockObj, &lfClockReadyCallback,
        0, &clockParams);

    (*(PowerCC26XX_config.calibrateFxn))(PowerCC26XX_SETUP_CALIBRATE);

    DRIVERLIB_ASSERT_CURR_RELEASE();

2) PIN_init()中的 BoardGpioInitTable 没有提到 ADC0 (DIO23)和 ADC1 (DIO24),它们的初始化代码在哪里?

const PIN_Config BoardGpioInitTable[] = {

    CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
    CC2640R2_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
    CC2640R2_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
    CC2640R2_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
    CC2640R2_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */
    CC2640R2_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,                                              /* UART RX via debugger back channel */
    CC2640R2_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                         /* UART TX via debugger back channel */
    CC2640R2_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master out - slave in */
    CC2640R2_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master in - slave out */
    CC2640R2_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,                                             /* SPI clock */

    PIN_TERMINATE
};

3) 3)此处定义 了 SPI0使用的引脚:

这些引脚在此处初始化:

但 IOID_8~IOID_11如何映射到 SPI0外设?

4) 4) 相同的 PIN 可以映射多个功能、例如数字 IO、模拟输入等。是否有任何有关如何映射的文档?

您可以帮助检查此案例吗? 谢谢。

此致、

樱桃

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

    您好、Cherry、

    1) 1) Power_init 是启动时需要调用的函数、用于初始化电源管理器状态。  不应修改。   https://dev.ti.com/tirex/explore/node?node=ABuWLDmlwjp5FCIoK75nTA__BSEc4rl__LATEST 

    2) 2) Board.h 内的 Board_ADCx 定义为 CC2640R2_LAUNCHXL_ADCx、它存在于   CC2640R2_LAUNCHXL.c/h 文件中的 CC2640R2_LAUNCHXL_ADCName 和 ADC_CONFIG 表中、最后映射到 CC2640R2_LAUNCHXL_DIO2x_ANALOG ATTRH 中的 ATTRH。

    3) 3) spiCC26XXDMAHWAttrs from CC2640R2_LAUNCHXL.c  

    4) 4)不建议在运行时对引脚进行多路复用、以实现模拟和数字功能。  提供的文件中支持引脚配置。

    此致、
    Ryan

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

    您好、Ryan、

    感谢您的支持、基本上所有问题都得到了解决。  

    客户想知道、由于程序中的许多初始化代码需要由用户编写、我们是否有任何可以自动配置初始化代码的软件?  

    谢谢、此致、

    樱桃

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

    他们可以 迁移 到 CC2642R 并使用 SysConfig

    此致、
    Ryan

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

    您好、Ryan、

    如何将 IO 配置为输出?

    SDK 提供的示例代码有两个函数 PIN_Config 和 GPIO_PinConfig、客户不确定如何使用这两个函数。 您能否帮助提供包含如何将 DIO0配置为 GPIO 输出的示例代码?

    请告诉我创建单独线程是否需要这个问题。

    谢谢、此致、

    樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    BoardGpioInitTable 在 CC2640R2_LAUNCHXL.c 中、应确保 IOID_0尚未在 CC2640R2_LAUNCHXL.h 中的其他位置保留
    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、

    客户正在 SDK 中可用的演示项目"空"中配置 DIO0:

    BoardGpioInitTable 配置如下:

    const PIN_Config BoardGpioInitTable[] = {
    
        CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
        CC2640R2_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
        CC2640R2_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
        CC2640R2_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
        CC2640R2_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */
        CC2640R2_LAUNCHXL_DIO0 |PIN_GPIO_OUTPUT_EN | PIN_PUSHPULL ,
        CC2640R2_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,                                              /* UART RX via debugger back channel */
        CC2640R2_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                         /* UART TX via debugger back channel */
        CC2640R2_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master out - slave in */
        CC2640R2_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master in - slave out */
        CC2640R2_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,                                             /* SPI clock */
    
        PIN_TERMINATE
    };

    其中添加了 DIO0初始化:  

      CC2640R2_LAUNCHXL_DIO0 | PIN_GPIO_OUTP_EN | PIN_PushPull、

    将以下代码添加到 empty.c 中、但 DIO0不会通过逻辑分析仪显示电平变化:

    GPIO_setConfig(Board_DIO0 , GPIO_CFG_OUT_STD );
    GPIO_write(Board_DIO0, 0);
    GPIO_write(Board_DIO0, 1);
    GPIO_write(Board_DIO0, 0);

    [引用 userid="114053" url="~支持/无线连接/蓝牙组/蓝牙/f/Bluetooth-forum/1123033/cc2640r2f-sdk-example-echlannel-initializing-code/4176536#4176536"]您应确保 IOID_0尚未在 CC2640r2[LAUNCH_QUOESHO]

    他们很难确认这一点。

    客户对 GPIO 初始化过程还不清楚。 虽然 SDK 提供了代码、但引用 SDK 提供要写入的代码的程序无法正常工作:DIO0的初始化和操作是参考 Board_GPIO_LED0编写的、但 Board_GPIO_LED0工作正常、DIO0工作不正常。

    谢谢、此致、

    樱桃

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

    他们是否在其他 GPIO 函数之前调用了 GPIO_init?  他们可能也忽略了添加正确的 gpioPinConfigs 条目。  他们应考虑将 PIN_GPIO_LOW 添加到 BoardGpioInitTable 的 CC2640R2_LAUNCHXL_DIO0条目、并在 GPIO_setConfig 参数中设置 GPIO_CFG_OUT_LOW。  它们还应尝试在 GPIO_Writes 之间延迟、尝试其他未保留 的 Dios 以查看行为是否有任何更改、并确认其硬件不会缩短连接。

    此致、
    Ryan

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

    void *mainThread(void *arg0)
    {
    /* 1 second delay */
    uint32_t time = 1;
    
    /* Call driver init functions */
    GPIO_init();
    // I2C_init();
    SPI_init();
    UART_init();

    const PIN_Config BoardGpioInitTable[] = {
    
    CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
    CC2640R2_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
    CC2640R2_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS, /* Button is active low */
    CC2640R2_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS, /* Button is active low */
    CC2640R2_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN, /* External flash chip select */
    CC2640R2_LAUNCHXL_DIO0 |PIN_GPIO_OUTPUT_EN | PIN_PUSHPULL| PIN_GPIO_LOW ,
    CC2640R2_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN, /* UART RX via debugger back channel */
    CC2640R2_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL, /* UART TX via debugger back channel */
    CC2640R2_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master out - slave in */
    CC2640R2_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master in - slave out */
    CC2640R2_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI clock */
    
    PIN_TERMINATE
    };

        GPIO_setConfig(Board_GPIO_LED0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

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

    仍然无法控制 DIO0

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

    我需要一个简单的演示来将 IO0配置为输出

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

    您好、werwer、

    您可以使用 gpiointerrupt 示例、将更改应用到 BoardGpioInitTable、并添加到 gpioPinConfigs:

    GPIO_PinConfig gpioPinConfigs[] = {
        /* Input pins */
        GPIOCC26XX_DIO_13 | GPIO_DO_NOT_CONFIG,  /* Button 0 */
        GPIOCC26XX_DIO_14 | GPIO_DO_NOT_CONFIG,  /* Button 1 */
    
        GPIOCC26XX_DIO_15 | GPIO_DO_NOT_CONFIG,  /* CC2640R2_LAUNCHXL_SPI_MASTER_READY */
        GPIOCC26XX_DIO_21 | GPIO_DO_NOT_CONFIG,  /* CC2640R2_LAUNCHXL_SPI_SLAVE_READY */
    
        /* Output pins */
        GPIOCC26XX_DIO_07 | GPIO_DO_NOT_CONFIG,  /* Green LED */
        GPIOCC26XX_DIO_06 | GPIO_DO_NOT_CONFIG,  /* Red LED */
        GPIOCC26XX_DIO_30 | GPIO_DO_NOT_CONFIG,  /* TMP116_EN */
        
        GPIOCC26XX_DIO_00 | GPIO_DO_NOT_CONFIG,  // LINE ADDED
    
        /* SPI Flash CSN */
        GPIOCC26XX_DIO_20 | GPIO_DO_NOT_CONFIG,
    
        /* SD CS */
        GPIOCC26XX_DIO_21 | GPIO_DO_NOT_CONFIG,
    
        /* Sharp Display - GPIO configurations will be done in the Display files */
        GPIOCC26XX_DIO_24 | GPIO_DO_NOT_CONFIG, /* SPI chip select */
        GPIOCC26XX_DIO_22 | GPIO_DO_NOT_CONFIG, /* LCD power control */
        GPIOCC26XX_DIO_23 | GPIO_DO_NOT_CONFIG, /*LCD enable */
    
    };

    然后、您应该能够为 Board_DIO0而不是 Board_GPIO_LED0使用 GPIO_setConfig 和 GPIO_write。  请务必删除任何 I2S 代码或将 CC2640R2_LAUNCHXL_I2S_ADO 的定义从 CC2640R2_LAUNCHXL.h 内的 IOID_0移开  

    此致、
    Ryan

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

    const PIN_Config BoardGpioInitTable[] = {
    
        CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
        CC2640R2_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
        CC2640R2_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
        CC2640R2_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
        CC2640R2_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */
        CC2640R2_LAUNCHXL_DIO0 |PIN_GPIO_OUTPUT_EN | PIN_PUSHPULL| PIN_GPIO_LOW ,
        CC2640R2_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,                                              /* UART RX via debugger back channel */
        CC2640R2_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                         /* UART TX via debugger back channel */
        CC2640R2_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master out - slave in */
        CC2640R2_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master in - slave out */
        CC2640R2_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,                                             /* SPI clock */
    
        PIN_TERMINATE
    };

    GPIO_PinConfig gpioPinConfigs[] = {
        /* Input pins */
        GPIOCC26XX_DIO_13 | GPIO_DO_NOT_CONFIG,  /* Button 0 */
        GPIOCC26XX_DIO_14 | GPIO_DO_NOT_CONFIG,  /* Button 1 */
    
        GPIOCC26XX_DIO_15 | GPIO_DO_NOT_CONFIG,  /* CC2640R2_LAUNCHXL_SPI_MASTER_READY */
        GPIOCC26XX_DIO_21 | GPIO_DO_NOT_CONFIG,  /* CC2640R2_LAUNCHXL_SPI_SLAVE_READY */
    
        /* Output pins */
        GPIOCC26XX_DIO_07 | GPIO_DO_NOT_CONFIG,  /* Green LED */
        GPIOCC26XX_DIO_06 | GPIO_DO_NOT_CONFIG,  /* Red LED */
        GPIOCC26XX_DIO_30 | GPIO_DO_NOT_CONFIG,  /* TMP116_EN */
        GPIOCC26XX_DIO_00 | GPIO_DO_NOT_CONFIG,
    
        /* SPI Flash CSN */
        GPIOCC26XX_DIO_20 | GPIO_DO_NOT_CONFIG,
    
        /* SD CS */
        GPIOCC26XX_DIO_21 | GPIO_DO_NOT_CONFIG,
    
        /* Sharp Display - GPIO configurations will be done in the Display files */
        GPIOCC26XX_DIO_24 | GPIO_DO_NOT_CONFIG, /* SPI chip select */
        GPIOCC26XX_DIO_22 | GPIO_DO_NOT_CONFIG, /* LCD power control */
        GPIOCC26XX_DIO_23 | GPIO_DO_NOT_CONFIG, /*LCD enable */
    
    };
    /* I2S */
    #define CC2640R2_LAUNCHXL_I2S_ADO               IOID_22
    //#define CC2640R2_LAUNCHXL_I2S_ADO               IOID_0
    #define CC2640R2_LAUNCHXL_I2S_ADI               IOID_1
    #define CC2640R2_LAUNCHXL_I2S_BCLK              IOID_30
    #define CC2640R2_LAUNCHXL_I2S_MCLK              PIN_UNASSIGNED
    #define CC2640R2_LAUNCHXL_I2S_WCLK              IOID_29

    GPIO_init();
    // I2C_init();
    SPI_init();
    UART_init();
    
    // Watchdog_init();
    
    /* Configure the LED pin */
    GPIO_setConfig(Board_GPIO_LED0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    
    /* Turn on user LED */
    GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON);
    HALUart1Init();
    HALSPIInit();
    GPIO_setConfig(Board_DIO0 , GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    // NSS(0);
    GPIO_write(Board_DIO0, 0);
    GPIO_write(Board_DIO0, 1);
    GPIO_write(Board_DIO0, 0);

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

      我使用的"空"示例、但仍然无法控制 DIO0。

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

    e2e.ti.com/.../empty_5F00_CC2640R2_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs.rar

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

    您好、werwer、

    我已经附加了使用 DIO0作为输出所需的文件。

    要对此进行评估、请执行以下操作:

    1. 导入 CC2640R2 SDK 示例 gpiointerrupt
    2. 用此处所附的文件替换该示例中的相应文件
    3. 拆下绿色 LED 上的跳线
    4. 在绿色 LED 和 DIO0之间添加跳线(在绿色 LED 侧、跳线应连接到最接近丝印的接头)、请参阅下图
    5. 构建此示例并将其刷写到 CC2640R2F Launchpad 上
    6. 现在、您可以正常运行示例、并看到绿色 LED 由 DIO0输出驱动

    e2e.ti.com/.../4274.Board.he2e.ti.com/.../1447.CC2640R2_5F00_LAUNCHXL.ce2e.ti.com/.../4162.CC2640R2_5F00_LAUNCHXL.he2e.ti.com/.../3513.gpiointerrupt.c

    谢谢、
    Toby

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CC2640R2_LAUNCHXL_GPIOName 是我忘记的重要部分、其放置方式必须与 gpioPinConfigs 的顺序一致。
    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ryan Brown:

    非常感谢你的帮助。

    通过参考您的代码、我现在能够控制 DIO0。但我不知道初始化 GPIO 需要执行哪些步骤、我尝试总结如何初始化和使用 GPIO:

    在    CC2640R2_LAUNCHXL.h:中向 CC2640R2_LAUNCHXL_GPIOName 添加 GPIOName

    2.在 Board.h:中定义 GPIO 名称

    设置 GPIOCC26XX_DIO_00 不是 CONFIG:

    配置 GPIO:

    控制 GPIO:

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

    贷项转到找到缺失零件的 Toby。  只需添加 BoardGpioInitTable、并且我相信您有一个 GPIO 控制所需更改的编译列表、您可以通过添加另一个 GPIO 实例进行测试来进一步确认这一点。

    此致、
    Ryan

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

    尽管我现在可以控制 DIO0、但我看不到 DIO0如何映射到 Board_LAUNCHXL_GPIO_DIO_0的代码

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

    BOARD_LAUNCHXL_GPIO_DIO_0 =  CC2640R2_LAUNCHXL_GPIO_S1、在 CC2640R2_LAUNCHXL_GPIOName 中表示 、因此映射到 gpioPinConfigs 的 GPIOCC26XX_DIO_00、使其在 GPIO TI 驱动程序中具有正确的关联。

    此致、
    Ryan

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

    尊敬的  Ryan

    您是说 CC2640R2_LAUNCHXL_GPIOName 中的 GPIO 引脚与 gpioPinConfigs 中的代码一对应吗?

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

    视觉效果很好、您 充分展示了这一概念。

    此致、
    Ryan

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

    尊敬的  Ryan

    TI 是否有这些文档? 在我看到的文档中没有对这些内容的描述。

    此致、

    TDY

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

    我不知道有一份直接解决这一问题的文件。   E2E 论坛上通常会询问有关此软件设置的类似问题、但文档开发现在侧重于更新的 SimpleLink CC13X2/CC26X2器件。

    此致、
    Ryan