Hai everyone,
I am trying to get the performance of ADC. But i couldn't get the output is shows an error like this
help me to solve this error... My coding is
#include <stdbool.h>
#include <stdint.h>
#include "hw_adc.h"
#include "adc.h"
#include "tm4c123gh6pm.h"
// This initialization function sets up the ADC
void ADC0_Init(void){ volatile unsigned long delay;
SYSCTL_RCGC2_R |= 0x00000010; // 1) activate clock for Port E
delay = SYSCTL_RCGC2_R; // allow time for clock to stabilize
GPIO_PORTE_DIR_R &= ~0x0C; // 2) make PE2 and PE3 input
GPIO_PORTE_AFSEL_R |= 0x0C; // 3) enable alternate function on PE2 and PE3
GPIO_PORTE_DEN_R &= ~0x0C; // 4) disable digital I/O on PE2 and PE3
GPIO_PORTE_AMSEL_R |= 0x0C; // 5) enable analog function on PE2 and PE3
SYSCTL_RCGC0_R |= 0x00010000; // 6) activate ADC0
delay = SYSCTL_RCGC2_R; // allow time for clock to stabilize
SYSCTL_RCGC0_R &= ~0x00000300; // 7) configure for 125K
ADC0_SSPRI_R = 0x0123; // 8) Sequencer 3 is highest priority
ADC0_ACTSS_R &= ~0x0008; // 9) disable sample sequencer 3
ADC0_EMUX_R &= ~0xF000; // 10) seq3 is software trigger
ADC0_SSMUX3_R &= ~0x000F; // 11) clear SS3 field
ADC0_SSCTL3_R = 0x0007; // 12) no TS0 D0, yes IE0 END0
ADC0_ACTSS_R |= 0x0008; // 13) enable sample sequencer 3
}
//------------ADC0_In------------
// Busy-wait Analog to digital conversion
// Input: none
// Output: 12-bit result of ADC conversion
unsigned long ADC0_In(void){
unsigned long result;
ADC0_PSSI_R = 0x0008; // 1) initiate SS3
while((ADC0_RIS_R&0x08)==0){}; // 2) wait for conversion done
result = ADC0_SSFIFO3_R&0xFFF; // 3) read result
ADC0_ISC_R = 0x0008; // 4) acknowledge completion
return result;
}