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?

