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.

TM4C1294NCPDT: ADC issues. Going into FaultISR after trying to reading a value.

Part Number: TM4C1294NCPDT

Hello everyone, I've got a custom board I made to be used as a test fixture and i need to read values onto the ADC for various voltage things around the board. I've been having this issue for a while now and just finally going head first to figure it out, but what keeps on happening is after I (seemingly) configured everything, the MCU goes into fault ISR after trying to read back a value from the ADCs. 

Here is my startup code. 

  SysCtlPeripheralReset(SYSCTL_PERIPH_GPIOE);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
    while (!SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOE)){}
    SysCtlPeripheralReset(SYSCTL_PERIPH_ADC1);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
    while (!SysCtlPeripheralReady(SYSCTL_PERIPH_ADC1)){}
        SysCtlDelay(1000);
    GPIOPinTypeADC(GPIO_PORTK_BASE, GPIO_PIN_1);
        SysCtlDelay(1000);
    ADCClockConfigSet(ADC1_BASE, ADC_CLOCK_SRC_PLL | ADC_CLOCK_RATE_EIGHTH, 30);
        SysCtlDelay(1000);
    ADCSequenceDisable(ADC1_BASE, SEQ0);
        SysCtlDelay(1000);
    ADCSequenceConfigure(ADC1_BASE, SEQ0, ADC_TRIGGER_PROCESSOR, 0);
        SysCtlDelay(1000);
    ADCSequenceStepConfigure(ADC1_BASE, SEQ0, 0, (ADC_CTL_IE | ADC_CTL_END | ADC_CTL_CH17 | ADC_CTL_SHOLD_256)); 
        SysCtlDelay(1000);
    ADCSequenceEnable(ADC1_BASE, SEQ0);
        SysCtlDelay(1000);
    ADCIntEnable(ADC1_BASE, SEQ0);
        SysCtlDelay(1000);
    ADCIntClear(ADC1_BASE, SEQ0);
        SysCtlDelay(1000);

Here is the code that is run inside my while(1) loop (I'm trying to use the adc processor trigger mode to read values)

uint32_t *data;

            ADCProcessorTrigger(ADC1_BASE, SEQ0);
                SysCtlDelay(1000);
            while (!ADCIntStatus(ADC1_BASE, SEQ0, false)){}
                SysCtlDelay(1000);
            ADCIntClear(ADC1_BASE, SEQ0);
                SysCtlDelay(1000);
            if (!ADCSequenceOverflow(ADC1_BASE, SEQ0))
            {ADCSequenceOverflowClear(ADC1_BASE, SEQ0);}
            if (!ADCSequenceUnderflow(ADC1_BASE, SEQ0))
            {ADCSequenceUnderflowClear(ADC1_BASE, SEQ0);}
                SysCtlDelay(1000);
            ADCSequenceDataGet(ADC1_BASE, SEQ0, data);
                SysCtlDelay(1000);
            UARTprintf("AIN0 = %x\n", data[0]);

I thought there might be a problem with my clocking (seems to usually be the problem with these things), heres my main clock config.

g_ui32SysClock = SysCtlClockFreqSet((SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHZ | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_240), 120000000);

And when I print g_ui32SysClock in my serial monitor I do get the value 120000000 so it seems to work properly (and I have other peripherals working on systems like I2C, SPI, and UART).

I appreciate your time and any help anyone would be willing to offer. Thanks, -Sam