Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega32 ADC
Ich bräuchte unter C einen Befehl, um die Spannung an einem Pin aus zu lesen.
Zunächst mal muss der ADC initialisiert werden.
z.B. so:
void AdcInit()
{
ADMUX = 0xC0;
ADCSR = 0x86;
}
Im ADMUX-Register wird hier die interne Spannungs-Referenz ausgewählt und Kanal 0 (auf PA0) eingestellt. Im ADCSRA-Register wird der ADC enabled und der Teiler für die Sample-Rate des ADC eingestellt.
Dann musst Du den ADC starten und das Ergebnis einlesen:
unsigned short GetADC(void)
{
unsigned short result;
ADCSR |= 0x40; //Wandlung starten
while (ADCSR & 0x40)
; //warten bis ADC fertig ist
result = (ADCH << 8) + ADCL; //Ergebnis einlesen
return result
}
Gruß,
askazo
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.