Go Down

Topic: Arduino Due ADC Interupt  (Read 20 times) previous topic - next topic

rudirabbit

Hallo,
Laut Datenblatt sollte es möglich sein, den ADC im Hintergrund laufen zu lassen.
Wenn eine Wandlung fertig ist, wird ein Interrupt ausgelöst.

Fände dies bei meinem Projekt sehr praktisch.


Leider wird der Interrupt Handler nie angesprungen.
Im ADC_IER sollte DRDY(24) das Richtige sein ?

Code: [Select]

....

ADC->ADC_CR |=1; //reset the adc
ADC->ADC_WPMR=0;
ADC->ADC_MR |= (1<<4) | (1<<7);  // 4=10 Bit Auflösung  7= free_run_mode


ADC->ADC_IER |= (1<<24); // Data Ready Interrupt
ADC->ADC_IDR = ~(1<<24);  // Enable interrupts
NVIC_EnableIRQ(ADC_IRQn);  // Interrupt Handler


ADC->ADC_CHER = 0x01; //enable ADC on pin A7
ADC->ADC_COR = 0x00000000 ;   // All offsets off
ADC->ADC_CGR = 0x15555555 ;   // All gains set to x1

.....

}

void ADC_Handler(void)
{
 
 if ((ADC->ADC_ISR & 0x01)==0)
                             {
                             Water_Temp=ADC->ADC_CDR[0];

                             ADC_Convert=true;
                             }
                           


}




Arduino UNO,MEGA,DUE 
Dunkel die andere Seite ist. - Klappe, Yoda, und iss deinen Toast :-)

DrDiettrich

Vielleicht fragst Du das besser in der Due Abteilung?

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy