Compare commits

...

2 Commits

Author SHA1 Message Date
Rajput R Vikramsingh Vikramsingh d964a92748 init Modification 2024-11-25 12:24:05 +05:30
Rajput R Vikramsingh Vikramsingh d463406438 Modification 2024-11-25 12:03:43 +05:30
1 changed files with 8 additions and 7 deletions

15
main.c
View File

@ -36,7 +36,7 @@ int main(void) {
void PortF_Init(void) {
SYSCTL_RCGCGPIO_R |= (1U << 5); // Enable clock for Port F // SYSCTL_RCGC2_R |= 0x00000020;
while ((SYSCTL_PRGPIO_R & (1U << 5)) == 0); // Wait for Port F to be ready
// while ((SYSCTL_PRGPIO_R & (1U << 5)) == 0); // Wait for Port F to be ready
GPIO_PORTF_DIR_R |= 0x01; // Set PF1 as output
GPIO_PORTF_DEN_R |= 0x01; // Enable digital function for PF1
@ -47,11 +47,11 @@ void PortF_Init(void) {
void ADC0_Init(void) {
SYSCTL_RCGCADC_R |= 0x01; // Enable ADC0 clock
SYSCTL_RCGCGPIO_R |= 0x10; // Enable clock for Port E
while ((SYSCTL_PRGPIO_R & (1U << 4)) == 0); // Wait for Port E to be ready
// while ((SYSCTL_PRGPIO_R & (1U << 4)) == 0); // Wait for Port E to be ready
GPIO_PORTE_AFSEL_R |= (1U << 3); // Enable alternate function on PE3
GPIO_PORTE_DEN_R &= ~(1U << 3); // Disable digital I/O on PE3
GPIO_PORTE_AMSEL_R |= (1U << 3); // Enable analog function on PE3
GPIO_PORTE_AFSEL_R |= 0x08; // Enable alternate function on PE3
GPIO_PORTE_DEN_R &= ~(1U << 3); // Disable digital I/O on PE3 // GPIO_PORTE_DEN_R &= ~(0x08);
GPIO_PORTE_AMSEL_R |= 0x08; // Enable analog function on PE3
ADC0_ACTSS_R &= ~8; // Disable sample sequencer 3
ADC0_EMUX_R = (ADC0_EMUX_R & 0xFFFF0FFF); // Software trigger for SS3
@ -60,10 +60,11 @@ void ADC0_Init(void) {
ADC0_ACTSS_R |= 8; // Enable sample sequencer 3
}
uint16_t ADC0_Read(void) {
uint16_t ADC0_Read(void)
{
ADC0_PSSI_R = 8; // Start sampling on SS3
while ((ADC0_RIS_R & 8) == 0); // Wait for conversion to complete
uint16_t result = ADC0_SSFIFO3_R & 0xFFF; // Read 12-bit ADC value
ADC0_ISC_R = 8; // Clear the completion flag
return result;
}
}