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.

UART5 input on TM4C123 using a Spectrum Satellite Receiver

Other Parts Discussed in Thread: TM4C123GH6PM

Hi everyone!

I'm linking up a Spectrum Satellite Receiver to my TM4C123GH6PM board.
It communicates through UART sending a stream of data as shown bellow:

My goal is to read the 4 sets of hex numbers (Roll, Pitch, Yaw and Thro) and put them in to 4 separate integers.
The stream of data is continuously and always in the same form.

The sample code produced is so far very simple:

#include <stdint.h>
#include <stdbool.h>
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"

char buffer[32];
int buffernumber;

int main(void)
{
SysCtlClockSet(
SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN
| SYSCTL_XTAL_16MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART5);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
GPIOPinConfigure(GPIO_PE4_U5RX);
GPIOPinConfigure(GPIO_PE5_U5TX); // NOT BEING USED, ONLY RX
GPIOPinTypeUART(GPIO_PORTE_BASE, GPIO_PIN_4 | GPIO_PIN_5);
UARTConfigSetExpClk(UART5_BASE, SysCtlClockGet(), 115200,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));


while (1)
{
int i=0;
buffernumber = UARTCharsAvail(UART5_BASE);

if(i<buffernumber)
buffer[i++] = UARTCharGetNonBlocking(UART5_BASE);
}
}

I don't get any readings. I can clearly see data being streamed in the UART5 Registers when online on the board, though my code won't get any through the UART5_BASE.

Anybody know whats up?