avr und c: lcd-anzeige und nutzung von variablen

OP #1418914
Lesenswert?

hallo,

ich bin noch ganz am anfang (sowohl mit c-programmierung, als auch mit 
avr) und komme auch mit einer entsprechenden frage:
ich bearbeite gerade das avr-gcc-tutorial und komme beim lcd nicht 
weiter. einen einfachen text kann ich mir mit dem beschriebenen programm 
anzeigen. (dieser part 
hier:http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmierung)
damit habe ich jetzt auch schon ein wenig rumgespielt, aber ich bekomme 
es einfach nicht hin, hier eine variable in den text einzubauen. so wie 
in "normalem"-c und der variablen mit dem namen "out":
printf("%i", out);

wie geht das? ich hab vieles in der richtung versucht:
    lcd_string("%i", out);
    lcd_data("%i", out);

alles erfolglos. hab keine ahnung, wie weiter, weil auch meine 
c-kenntnisse noch minimal sind. (aber bin fleissig am üben und auch der 
linux-konsole macht mein c schon ein paar dinge)...

hat jemand nen link oder nen tip oder irgend ne hilfe?

vielen dank
und grüsse vom anfänger
#1418939
Lesenswert?

> int out = 5;
> lcd_string(out);

Wass'n das?

lcd_string erwartet einen String als Übergabe, also musst Du Dir einen 
solchen basteln.  Aufwendig (code-mäßig), aber einfach:
1
#define STRLEN 15
2
char s[STRLEN];
3
int i = 5;
4
sprintf_P(s, PSTR("i = %d"), i);
5
lcd_string(s);
OP #1419060
Lesenswert?

hallo,

und danke an euch beide für die antworten.
die variante von kuchenkönig hatte ich allerdings (glaube ich) auch 
schon und die ging nicht.
die zweite kapiere ich noch nicht ganz - werde ich mir mal in ruhe 
anschauen und ausprobieren. leider liegen internet und avr im moment an 
verschiedenen orten :-(

aber jetzt hab ich ja erstmal wieder futter...

nochmals danke und grüsse vom
anfänger
Gast #1419286
Lesenswert?

>> int out = 5;
>> lcd_string(out);
>
>Wass'n das?
>
>lcd_string erwartet einen String als Übergabe, also musst Du Dir einen
>solchen basteln.  Aufwendig (code-mäßig), aber einfach:
>
>#define STRLEN 15
>char s[STRLEN];
>int i = 5;
>sprintf_P(s, PSTR("i = %d"), i);
>lcd_string(s);

Au da hast du natürlich recht... Ich war zu schnell.
Aber warum so Kompliziert. C liefert das mit...
utoa sollte das gleiche machen.

Hier ein Beispiel von mir:
1
int Temp = 88;
2
char str[16];
3
utoa(Temp, str, 10);
4
lcd_string(str);
#1419678
Lesenswert?

Kuchen-König schrieb:

> Au da hast du natürlich recht... Ich war zu schnell.

Du bist auch jetzt zu schnell.
Denk bitte nach, was du einem Newbie schreibst, ehe du ihm Unsinn 
erzählst.

> Hier ein Beispiel von mir:
>
1
> int Temp = 88;
2
> char str[16];
3
> utoa(Temp, str, 10);
4
> lcd_string(str);
5
>

Temp ist ein int. Dafür wird itoa verwendet.
utoa ist bei einem unsigned int angebracht.

http://www.mikrocontroller.net/articles/FAQ#Wie_kann_ich_Zahlen_auf_LCD.2FUART_ausgeben.3F

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