- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Fragen zum A/D wandeln

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    05.05.2005
    Alter
    55
    Beiträge
    58
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi!

    Danke für die Antwort ... dann ist mir das jetzt klar. Die Wandlung ist immer noch eine 10 Bit Wandlung. Nur die letzten Stellen werden einfach weggelassen.

    Gruß Olli
    .... und ich lächelte und es kam Schlimmer!


    -= Rechtschreibfehler werden mit 0,50 Cent/Stk. berechnet. Bitte nach günstigen Großabnehmertarifen fragen! =-

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    18.04.2005
    Ort
    Regensburg
    Alter
    45
    Beiträge
    13
    Hallo,

    ich hätte jetzt noch eine Frage dazu.

    Was soll dann in der var buffer stehen??

    Ich wollte den Analogen wert in einen Digitalen umwandeln.

    :

    /* Wandlung starten */
    ADCSRA |= (1<<ADSC); // Setzt das ADSC Bit im ADCSRA Register Also eine einfache Wandlung steht an.

    /* Warten bis die AD-Wandlung abgeschloßen ist */
    while ( !(ADCSRA & (1<<ADIF)) ) //Das ADCSRA wird mit dem ADIF Bit und verknüpft
    //Rückgabewert 1 Wenn die Wandlung abgeschlossen ist. Duch die Negation wir die While Schleife möglich.
    ;

    /* AD-Wert auslesen */
    buffer = ADCL; Steht hier der Wert drin??? also ein wert zw. 1 und 512??


    Danke

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    08.03.2006
    Beiträge
    22
    Hoi,
    also wenn ich mal von meinem AD-Wandler ausgehe, dann handelt es sich um einen 10bit wandler. D.h der Bereich zwischen 0V und Vref wird dementsprechnd in 1024 Bereiche aufgeteilt und somit in Werte von 0..1023 gewandelt.
    Da die Register im Mikrocontoller aber nur eine Größe von 8 Bit haben wird der Wert auf 2 Register aufgeteilt. Und zwar in die Register ADCL und ADCH.


    buffer = ADCL; Steht hier der Wert drin??? also ein wert zw. 1 und 512??
    Mit diesem Befehl liest du also nur das eine Register aus und lässt die 2 höherwertigen Bits des ADCH Registers unbeachtet!!! Du erhäst somit einen 8bit Wert also zwischen 0 und 255.

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    uint16_t buffer = ADC;

    That's it. Wenn du nur ADCL liest klemmt der ADC, weil immer ein Register gelacht wird und der Wert sonst nicht mehr aktualisiert wird.
    Disclaimer: none. Sue me.

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    18.04.2005
    Ort
    Regensburg
    Alter
    45
    Beiträge
    13
    Stimmt,

    mit

    buffer = ADC

    gehts!!! \/

    So, jetzt aber was anderes, ich habe ja mehrere von den Sensoren...

    Mit

    ADMUX = 0;

    Weise ich ja dem Multiplexer den Port 0 zu, oder?

    Wenn ich jetzt noch Port 1 und 2 zusätzlich haben will, muß ich dann die Ports hintereinander abfrage, soll heißen , in jedem Durchlauf Sensor 1 initen, abfragen, auswerten, dann Sensor 2 initen, abf... usw???

    Danke für eure Hilfe

    Gruß
    Frostie

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

LiFePO4 Speicher Test