mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik avr und c: lcd-anzeige und nutzung von variablen


Autor: An Fänger (hallofrage)
Datum:

Bewertung
0 lesenswert
nicht 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-Tu...)
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

Autor: Kuchen-König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
int out = 5;
lcd_string(out);

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht 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);

Autor: An Fänger (hallofrage)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kuchen-König (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
int Temp = 88;
char str[16];
utoa(Temp, str, 10);
lcd_string(str);

Autor: An Fänger (hallofrage)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

danke für den weiteren hinweis. so bin ich jetz auch zu einem prositiven 
ergebnis gekommen (die variante mit: sprintf_P(s, PSTR("i = %d"), i); 
wars noch nicht).

also allen helfenden nochmal ein dankeschön.
bis zur nächsten frage - schöne grüsse vom
anfänger

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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:
>
> int Temp = 88;
> char str[16];
> utoa(Temp, str, 10);
> lcd_string(str);
> 

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

http://www.mikrocontroller.net/articles/FAQ#Wie_ka...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.