Forum: Mikrocontroller und Digitale Elektronik Variable hochzählen und auf LCD wiedergeben?


von Jan H. (janiiix3)


Lesenswert?

Hallo,

ich würde gerne eine Variable hochzählen lassen und diese auf einen LCD 
Display wieder geben! leider funktioniert das noch nicht ganz so!

woran kann das liegen ?! Auf meinen Display wird lediglich 
"Testsoftware"
angezeigt... hier der Code !
1
#include <avr/io.h>
2
#include "lcd_new.h"
3
#include <util/delay.h>
4
int main(void)
5
{
6
  
7
long Zaehler;
8
Zaehler = 0;  
9
  
10
  lcd_init(LCD_DISP_ON);
11
  lcd_gotoxy(2,0);
12
  lcd_puts("Testsoftware");
13
  
14
    while(1)
15
    {
16
    
17
lcd_gotoxy(2,1);    
18
Zaehler = Zaehler+1;
19
_delay_ms(1000);
20
lcd_puts(Zaehler);
21
    return 0;
22
  }
23
}

: Bearbeitet durch User
von Hululu (Gast)


Lesenswert?

Ich nehme nicht an, dass das Dein Problem löst.
Aber mit dem hier:
1
return 0;

wird es garantiert nicht gehen (oder nur einmal).

von Peter II (Gast)


Lesenswert?

Jan H. schrieb:
> lcd_puts(Zaehler);

das sollte sogar einen Warnung geben. lcd_puts gibt einen String aus. 
Zaeler ist aber kein String.

Du musst ihn erst in einen string umwandeln oder eine Funktion nutzen 
die zahlen ausgeben kann.

von Jan H. (janiiix3)


Lesenswert?

Peter II schrieb:
> Jan H. schrieb:
>> lcd_puts(Zaehler);
>
> das sollte sogar einen Warnung geben. lcd_puts gibt einen String aus.
> Zaeler ist aber kein String.
>
> Du musst ihn erst in einen string umwandeln oder eine Funktion nutzen
> die zahlen ausgeben kann.

okay... gibt es eine einfache Methode / Funktion?

von Peter II (Gast)


Lesenswert?

Jan H. schrieb:
> okay... gibt es eine einfache Methode / Funktion?

ich kenne die lcd-lib nicht.

Umwandeln geht mit itoa

von Jan H. (janiiix3)


Lesenswert?

itos ? habe ich noch nie gehört...
habe gerade mal gegoogelt.... aber bin nich schlau drauß geworden...

wie mache ich das denn nun wenn ich zb.

int Zaehler; in einen String konvertieren möchte ?

von Peter II (Gast)


Lesenswert?

Jan H. schrieb:
> habe gerade mal gegoogelt.... aber bin nich schlau drauß geworden...

sorry aber dann musst du erst mal die Grundlagen von C lernen. Ich bin 
kein Freund davon jemand eine fertige Lösung zu Zeigen wenn er sie sich 
nicht selber erarbeitet hat.

von Harald M. (mare_crisium)


Lesenswert?

Peter II schrieb:
> Jan H. schrieb:
>> habe gerade mal gegoogelt.... aber bin nich schlau drauß geworden...
>
> sorry aber dann musst du erst mal die Grundlagen von C lernen. Ich bin
> kein Freund davon jemand eine fertige Lösung zu Zeigen wenn er sie sich
> nicht selber erarbeitet hat.

...und vor allem so einen Mist nicht ausgerechnet in dem Unterforum 
ausbreiten, in dem FERTIGE UND FÜR DIE COMMUNITY BRAUCHBARE PROGRAMME 
vorgestellt werden sollen.

mare_crisium

von Roche van Ochten (NL) (Gast)


Lesenswert?

Probiere mal

lcd_puts(itoa(Zaehler));

Roche

von Peter II (Gast)


Lesenswert?

Roche van Ochten (NL) schrieb:
> Probiere mal
>
> lcd_puts(itoa(Zaehler));

ah noch jemand der von C keine Ahnung hat.

von Wolfgang (Gast)


Lesenswert?

Jan H. schrieb:
> int main(void)
> {
...
> Zaehler = 0;
>
     ...
>
>     while(1)
>     {
>...
>     return 0;
>   }
> }

Was soll das eigentlich für eine Struktur werden? Das ist doch (fast?) 
Zufall, dass die Struktur heil durch den Compiler kommt.

Überleg dir mal deine Programmlogik. Das wird einfacher, wenn du deinen 
Code vernünftig einrückst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.