Typumwandlung problem

Gast #177561
Lesenswert?
• ▲
▼
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 #177563
Lesenswert?
• ▲
▼
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 #177565
Lesenswert?
• ▲
▼
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren