- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 2 von 2

Thema: Atmega32 ADC

  1. #1

    Atmega32 ADC

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich bräuchte unter C einen Befehl, um die Spannung an einem Pin aus zu lesen.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    48
    Beiträge
    1.146
    Zunächst mal muss der ADC initialisiert werden.
    z.B. so:
    Code:
    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:
    Code:
    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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad