ADC mit 8535

Gast #41957
Lesenswert?
• ▲
▼
hallo!

void main(void)
{
  unsigned int x;

  outp ((1<<ADEN) & 3, ADCSR);

  outp ((1<<PINA1), ADMUX);        // Kanal an Pin 1 auswählen
  sbi (ADCSR, ADSC);

  while (bit_is_set (ADCSR, ADSC)); /* Nur warten */;
  x = (__inw(ADCL));               // Wert auslesen

}

Hab einen Fehler beim kompilen und zwar bei der Zeile "x = 
(__inw(ADCL));". kann mir jemand weiterhelfen? hab einen 8535er

gruß,
Max
Gast #41959
Lesenswert?
• ▲
▼
also ich hab es jetzt umgeschrieben und zwar:

void main(void)
{
  int x;
  char buffer[16];

  outp ((1<<ADEN) & 1, ADCSR);

  outp ((1<<PINA1), ADMUX);
  sbi (ADCSR, ADSC);

  while (bit_is_set (ADCSR, ADSC)); /* Nur warten */;

  x=inp(ADCL);       // einlesen des Wertes, Low..
  x=x|(inp(ADCH)<<8);     // ..High

  lcd_init(LCD_DISP_ON);
      lcd_clrscr();
      itoa(x,buffer,10);
      lcd_puts(buffer);

  for(;;);
}

jedoch tut sich immer noch nichts und es zeigt nur 0 auf dem LCD an. An 
welchem Port knn ich jetzt die zu messende Spannung anschließen? (PA0 
odeR?). Und stimmen das Programm von den Werten in den Registern 
überhaupt?

Bitte um Hilfe.

MfG,
Max

Antwort schreiben

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.

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.