2 Analoge Spannungen mit STK500 und ATDVK90CAN1 messen

Gast #3308663
Ich stehe vor folgendem Problem:
Ich muss 2 Spannungen über den ADC eines STK500-Boards mit 
ATDVK90CAN1-Erweiterung einlesen.
Spannungen:0-4,5V
Ich verwende folgenden Code dafür:

#include <avr/io.h>

void AD(char Channl, char Led)
{
  ADMUX &= ~(0x00 | (1<<MUX0) | (1<<MUX1) | (1<<MUX2) | (1<<MUX3));
  ADMUX |= Channl;
  ADCSRA |= (1 << ADSC);
  while(!(ADCSRA & ~ADSC)){}

  //wenn ADC-Wert über 512--> LED leuchtet nicht, unter 512--> LED
  //leuchtet:

  if(ADC > 512)
  {
    PORTB |= Led;
  }
  else
  {
    PORTB &= ~Led;
  }
  ADC = 0;
        return;
}

int main(void)
{
  DDRB = 0xFF;
  PORTB = 0x00; //verbunden mit LED`s

  ADCSRA |= ((1 << ADEN) | (1 << ADPS0) | (1 << ADPS1) |(1 <<ADPS2));
  ADMUX |= (1 << REFS0);

  while(1)
  {
    AD(1 << MUX2, 0b00000010);
    AD((1 << MUX0) | (1 << MUX2), 0b00000001);
  }
}

Das Einlesen der Spannung funktioniert zwar, allerdings lässt sich der 
ADC-Wert nicht reseten. wenn ich an einem eingang eine spannung anlege 
leuchtet die zweite LED also ebenfalls.
danke im voraus für jede Hilfe

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.