mikrocontroller.net

Forum: Compiler & IDEs AD Wandlung Frage


Autor: stoegi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe folgendes Prog geschrieben, das bis jetzt einwandfrei funktioniert.

void main()
{

  lcd_ini();

    lcd_gotoline(1);
      lcd_writetext("ADC0:");
    lcd_gotopos(1,11);
    lcd_writetext("V");
  lcd_gotoline(2);
    lcd_writetext("ADC1:");
    lcd_gotopos(2,11);
    lcd_writetext("V");

  // Activate ADC with Prescaler 16 --> 1Mhz/16 = 62.5kHz
  ADCSRA = _BV(ADEN) | _BV(ADPS2);

  while (1)// Endlosschleife
    {
    // Select pin ADC0 using MUX
    ADMUX = 0;

    //Start conversion
    ADCSRA |= _BV(ADSC);

    // wait until converstion completed
    while (ADCSRA & _BV(ADSC) ) {}

    // get converted value
  double x = ADCW/1023.0*5.0;

  char buffer[5];
  sprintf(buffer,"%.3f",x); //Makefile_eigen in den Optionen einstellen

  lcd_gotopos(1,6);
  lcd_writetext(buffer);

    }
}

Der AD Wert an ADC0 wird am LCD Display angezeigt und mit 3 
nachkommastellen ausgegeben.
Meine Frage:
Wie lese ich gleichzeitig an ADC0 und ADC1....2 .3... Werte ein
Werden die Werte nicht immer in ADCW geschrieben?!.. wie löse ich das.?
m.f.G.
Stögi

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stoegi wrote:

> Wie lese ich gleichzeitig an ADC0 und ADC1....2 .3...

Einfache antwort: gar nicht.

> Werte ein
> Werden die Werte nicht immer in ADCW geschrieben?!..

Ja natürlich

> wie löse ich das.?

Die beiden Kanäle abwechselnd hintereinander einlesen.

Es gibt am Chip nur einen ADC. Aber man kann verschiedene
Eingangspins abwechselnd an diesen ADC schalten.

Autor: stoegi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jetzt leuchtet mir das ein ;)
danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.