Typumwandlung problem

Gast #177561
Ich will vom Ad ein wert auslesen und diesen dann auf einem lcd
anzeigen.

Mein Programm:

char buffer[7];
int  num;
sbi(ADCSR,ADSC);
while(bit_is_set(ADCSR,ADSC));   //warten bis wandlung fertig
num = (inp(ADCL)+(inp(ADCH)*256));  //high und low zusammensetzen
/* convert interger into string */
itoa( num , buffer, 10);
/* put converted string to display */
lcd_puts(buffer);

Ich glaub das problem ist dass ich ein unsigned int aus dem register
auslese und dann in ein int schreibe. Wie mach ich die typumwandlung?
Gast
Ich hab jetzt:
   num = (inp(ADCL)+(inp(ADCH)*256));
durch:
   num = ADC;
ersetzt. dann kam:
   `ADC' undeclared (firs t use in this function)

ich hab folgende headerfiles:

#include <stdlib.h>
#include <avr/io.h>
#include "lcd.h"
Gast
aus iom16.h, wird von avr/io.h eingebunden:

/* ADC */
#define ADCW  _SFR_IO16(0x04)
#define ADCL  _SFR_IO8(0x04)
#define ADCH  _SFR_IO8(0x05)

Probiers mit
 num = ADCW;

Stefan
Gast
Danke für den tip ist ja viel einfacher und übersichtlicher.

der wert auf dem lcd stimmt aber immernoch nicht. bei 10 bit ad und
höchstem wert müsste ja 2048 auf dem lcd angezeigt werden es sind aber
ca. 700

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.