Forum: Mikrocontroller und Digitale Elektronik int aufs Display ausgeben


von Hans Peter (Gast)


Lesenswert?

Hallo,

probiere schon lange eine int Variable auf ein Display auszugeben.
Ich weis, das wurde hier schon öfters diskutiert. Habe auch einiges 
probiert.
Aber es will einfach nicht.

Hier meinen Code:
1
 #include <stdint.h>
2
#include <avr/io.h>
3
#include <avr/interrupt.h>
4
#include "lcd.h"
5
#include "zeler.h"
6
7
8
...
9
10
       tag = 7;
11
  monat = 7;
12
  jahr = 1986;
13
14
  lcd_init();
15
  lcd_xy(5,1);
16
  lcd_string(tag);
17
18
  while(1)
19
  {  
20
21
    //zeller(tag,monat,jahr);
22
    
23
  }
24
}

Der nächste Code ist die Funktion "lcd_string(tag)"
1
void lcd_string(char *s)
2
{
3
  char c;
4
  c=*s;
5
  while (c != '\0')
6
  {  
7
    RS_S;
8
    DISPLAY_PORT = c;
9
    DISPLAY_EN();
10
    *s++;
11
    c=*s;
12
  }
13
}
Dann habe ich noch eine Datei wo die Variablen deklariert sind:
1
//Variable Zeller
2
3
int tag;
4
int monat;
5
int jahr;
6
int f;

Ich habe immerhin rausgefunden, dass ich die Variable "tag" in den Typ 
char umwandeln muß. Aber wie?

Danke im voraus,
Hans Peter

von Klaus W. (mfgkw)


Lesenswert?

Hans Peter schrieb:
> Welche Art Buch muß ich zuerst lesen?

Ein C-Buch.

von Klaus W. (mfgkw)


Lesenswert?

PS: du musst nicht nach char wandeln, sondern in einen nullterminierten 
String.

von Hans Peter (Gast)


Lesenswert?

Danke für die schnelle Antwort.
Sehr hilfreich.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

itoa

von Hans Peter (Gast)


Lesenswert?

Klaus Wachtler schrieb:
> Hans Peter schrieb:
>> Welche Art Buch muß ich zuerst lesen?
>
> Ein C-Buch.

Sorry, für die freche Antwort. So wie man in den Berg reinruft, denn 
rest kannst Du dir denken.

Diesen "nullterminierten String" werde ich mal erforschen.

Christian H. schrieb:
> itoa

Das habe ich auch schon gelesen. Aber nicht wirklich verstanden.

von Klaus W. (mfgkw)


Lesenswert?

Das war ernst gemeint.
Man kann dir nicht hier alles von C Punkt für Punkt erklären, du
musst dich auch selber schlau machen.
Und in deinem Programmfragment stecken etliche Punkte, an denen
offensichtlich wird, daß dir die absoluten Grundlagen fehlen.

Also nicht böse sein, aber anders geht es nicht.

von Klaus W. (mfgkw)


Lesenswert?

Achja: C lernt sich am PC wesentlich leichter als auf einem MC.
Das macht das Leben viel leichter, vor allem wegen des Debuggens.

von Hans Peter (Gast)


Lesenswert?

Ich geb ja zu, dass ich erst ein paar Monate mit C rumspiele. Aber wenn 
mann mal rund ne Woche an einem Problem siehts wirds frustrierend.

von Klaus W. (mfgkw)


Lesenswert?

Wenn man auch gleich mit einem MC anfängt :-)

Es ist wirklich so: In kleinen Häppchen kommt man besser rein, und
bekommt vor allem bessere Hilfe, wenn es kneift.

Wie will man jemandem helfen, der alles auf einmal anfängt,
aber 0 Grundlagen hat?
Um dir hier bei deinem Programm sinnvoll zu helfen, müsste man dir
Tausend Sachen auf einmal erzählen, die aber zu 99% in jedem C-Buch
stehen.
Das ist nicht gerade effizient...

von Karl H. (kbuchegg)


Lesenswert?

Am C Buch führt kein Weg vorbei. Soviel steht fest.

In der Zwischenzeit liest du hier mal nach
http://www.mikrocontroller.net/articles/FAQ#Wie_kann_ich_Zahlen_auf_LCD.2FUART_ausgeben.3F

und auch den Artikel
http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F

liest du auch gleich mit.

Aber sei dir bewusst, dass beide FAQ Abschnitte nur das absolute Minimum 
enthalten, was man über diese Themen wissen muss. Eine vollständige 
Abhandlung findest du in jedem C Buch

von Hans Peter (Gast)


Lesenswert?

jipi jey, es funktioniert!!

Karl heinz Buchegger schrieb:
> http://www.mikrocontroller.net/articles/FAQ#Wie_fu...

Über diese Seite bin ich auch gerade gestolpert und mir ist aufgefallen, 
das bei mir immer die Zahl 10 gefehlt hat.   itoa(tag, ha,10).
Jetzt funktionierts. Danke.

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.