Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

CC1310: Strange GPIO pin mapping behavior

$
0
0

Part Number:CC1310

Hi,

I'm building a custom board based on the CC1310F32RHB. I have connected an LED to pin 9, which should be DIO_3 according to the datasheet (http://www.ti.com/lit/ds/symlink/cc1310.pdf). I wrote a very simple nortos program to toggle the led. It was my understanding the DIO_3 would be IOID_3 in code. But when I ran the code the led didn't blink. After I few tries I decided to iterate through all the IOID values. Surprisingly my program started working with a value of IOID_0. The code is as follows

#include <ti/drivers/GPIO.h>
#include <ti/drivers/gpio/GPIOCC26XX.h>

#define Board_GPIO_LED0 IOID_0
#define Board_GPIO_LED_ON 1
#define Board_GPIO_LED_OFF 0

void *mainThread(void *arg0)
{
    GPIO_init();
    GPIO_setConfig(Board_GPIO_LED0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

    while(1) {
        GPIO_toggle(Board_GPIO_LED0);
        sleep(1);
    }
}

My board pin configuration is as follows

const PIN_Config BoardGpioInitTable[] = {
    IOID_0 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
    PIN_TERMINATE
};

How is this possible? I have ruled out the possibility of a short between the pins. I would really appreciate some help.


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>