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.

looking for Example Concerto UART using alternate gpio pins

Other Parts Discussed in Thread: CONTROLSUITE

The examples in the controlSuite Host examples are limited to using GPIO_PIN_0 through GPIO_PIN_7 (defined in gpio.h).  What I would like please is the uart_echo() example to use UART2 and the alternate pins from Table 4.1 , PB4_GPIO12 and PD1_GPIO17,  so that the demo code is something like this:

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART2);

IntMasterEnable();

// THIS NEEDS MODIFICATION, it looks like I need to write to GPIOAFSEL and GPIOPCTL but I'm not sure how to map these to the 7 bits

//The digital alternate hardware functions are enabled by setting the appropriate bit in the GPIO Alternate Function Select (GPIOAFSEL)

//and GPIODEN registers and configuring the PMCx bit field in the GPIO Port Control (GPIOPCTL) register to the numeric enoding.

 GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_12);   

 GPIOPinTypeUART(GPIO_PORTD_BASE,  GPIO_PIN_17 ) 

GPIOPinConfigure(GPIO_PB4_U2RX);    

GPIOPinConfigure(GPIO_PD1_U2TX);

 

Thanks for your help,

Larry

  • Hello Larry,

    I think you are on the right path.  First, when you use the GPIOTypeUART command you will use the port base, then the pin number for that port, not the GPIO number shown in table 4-1.  So you will not use PIN_12 or PIN_17, as these definitions do not exist.  Your setup should look like this:

    GPIOPinTypeUART(GPIO_PORTB_BASE,GPIO_PIN_4);

    GPIOPinTypeUART(GPIO_PORTD_BASE,GPIO_PIN_1);

    Also, I think you need to give access to configure port B and port D with this before you do any of this with:

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

    Lastly, you do not have to explicity set the GPIO Port Control and GPIO Alternate Function Select registers, as this is taken care of in the other functions that you use to setup the UART.

    Regards,

    Kelvin