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.

RTOS/CC2640R2F: GPIO_ write not working

Part Number: CC2640R2F
GPIO_PinConfig gpioPinConfigs[] = {


/* Input pins */
GPIOCC26XX_DIO_13 | GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_RISING, /* Button 0 */
GPIOCC26XX_DIO_14 | GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_RISING, /* Button 1 */

/* Output pins */
GPIOCC26XX_DIO_07 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW, /* Green LED */
GPIOCC26XX_DIO_06 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW, /* Red LED */

GPIOCC26XX_DIO_01 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW,
GPIOCC26XX_DIO_12 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW,
GPIOCC26XX_DIO_15 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW,

/* SPI Flash CSN */
GPIOCC26XX_DIO_20 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_HIGH,

};

const GPIOCC26XX_Config GPIOCC26XX_config = {
.pinConfigs = (GPIO_PinConfig *)gpioPinConfigs,
.callbacks = (GPIO_CallbackFxn *)gpioCallbackFunctions,
.numberOfPinConfigs = 8,
.numberOfCallbacks = sizeof(gpioCallbackFunctions)/sizeof(GPIO_CallbackFxn),
.intPriority = (~0)
};

Tool/software: TI-RTOS

Hi! Everyone,

In Project Zero example code i had called GPIO_write( GPIOCC26XX_DIO_01 , 1 ); in project_zero.c  but this function is not setting the pin high after configuring the GPIO in CC2640R2_LAUNCHXL.c 

please tell me where i went wrong.

Regards,

Vijay Rakesh.

  • Hello,

    It looks like you added 3 more GPIOS to the table. Go to the CC2640R2_LAUNCHXL.h and find the:

    typedef enum CC2640R2_LAUNCHXL_GPIOName {
        CC2640R2_LAUNCHXL_GPIO_S1 = 0,
        CC2640R2_LAUNCHXL_GPIO_S2,
        CC2640R2_LAUNCHXL_GPIO_LED_GREEN,
        CC2640R2_LAUNCHXL_GPIO_LED_RED,
        CC2640R2_LAUNCHXL_GPIO_SPI_FLASH_CS,
    
        CC2640R2_LAUNCHXL_GPIOCOUNT
    } CC2640R2_LAUNCHXL_GPIOName;

    and add three new GPIO Defs, like so:

    typedef enum CC2640R2_LAUNCHXL_GPIOName {
        CC2640R2_LAUNCHXL_GPIO_S1 = 0,
        CC2640R2_LAUNCHXL_GPIO_S2,
        CC2640R2_LAUNCHXL_GPIO_LED_GREEN,
        CC2640R2_LAUNCHXL_GPIO_LED_RED,
        CC2640R2_LAUNCHXL_DIO_0,
        CC2640R2_LAUNCHXL_DIO_12,
        CC2640R2_LAUNCHXL_DIO_15,
        CC2640R2_LAUNCHXL_GPIO_SPI_FLASH_CS,
    
        CC2640R2_LAUNCHXL_GPIOCOUNT
    } CC2640R2_LAUNCHXL_GPIOName;

    and when you use the GPIO_Write Function use this:

    GPIO_write(CC2640R2_LAUNCHXL_DIO_0, 1);

    Regards,

    AB

  • Hi AB,

    Thanks for the reply. It's working.

    Regards,

    Vijay Rakesh.