Hello, I tried to use ADC4, but it gives me error "SYSCTL_PERIPH_ADC4 is Undefinded" & "ADC4 is Undefinded". Thank you for you help!
Below is my code:
#include "include.h"
void ADC4_ISR(void);
void Config_ADC(void);
unsigned int ADC4_Data[3];
float ADC4_Voltage;
//float ADC0_Temperature;
void Config_ADC(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC4);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_3);
ADCSequenceConfigure(ADC4_BASE, 1 ,ADC_TRIGGER_PROCESSOR,0);
ADCSequenceStepConfigure(ADC4_BASE, 1, 0, ADC_CTL_CH0);
ADCSequenceStepConfigure(ADC4_BASE, 1, 1 ADC_CTL_CH0);
ADCSequenceStepConfigure(ADC4_BASE, 1, 2, ADC_CTL_CH0
| ADC_CTL_END|ADC_CTL_IE);
ADCSequenceEnable(ADC4_BASE,1);
ADCIntRegister(ADC4_BASE, 1, &ADC4_ISR);
ADCIntEnable(ADC4_BASE,1);
}
void main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ); //for 80 MHz
SysCtlDelay(80000000);
Config_ADC();
IntMasterEnable();
while(1)
{
ADCProcessorTrigger(ADC4_BASE,1);
SysCtlDelay(800);
}
}
void ADC4_ISR(void)
{
ADCIntClear(ADC4_BASE,1);
ADCSequenceDataGet(ADC4_BASE, 1, (unsigned int *)&ADC4_Data);
ADC4_Voltage = 0 +((float)(ADC4_Data[0] + ADC4_Data[1] + ADC4_Data[2])/3)*3.25/4096;
}