mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik int aufs Display ausgeben


Autor: Hans Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
 #include <stdint.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include "lcd.h"
#include "zeler.h"


...

       tag = 7;
  monat = 7;
  jahr = 1986;

  lcd_init();
  lcd_xy(5,1);
  lcd_string(tag);

  while(1)
  {  

    //zeller(tag,monat,jahr);
    
  }
}

Der nächste Code ist die Funktion "lcd_string(tag)"
void lcd_string(char *s)
{
  char c;
  c=*s;
  while (c != '\0')
  {  
    RS_S;
    DISPLAY_PORT = c;
    DISPLAY_EN();
    *s++;
    c=*s;
  }
}
Dann habe ich noch eine Datei wo die Variablen deklariert sind:
//Variable Zeller

int tag;
int monat;
int jahr;
int f;

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

Danke im voraus,
Hans Peter

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans Peter schrieb:
> Welche Art Buch muß ich zuerst lesen?

Ein C-Buch.

Autor: Klaus Wachtler (mfgkw)
Datum:

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

Autor: Hans Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort.
Sehr hilfreich.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
itoa

Autor: Hans Peter (Gast)
Datum:

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

Autor: Klaus Wachtler (mfgkw)
Datum:

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

Autor: Klaus Wachtler (mfgkw)
Datum:

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

Autor: Hans Peter (Gast)
Datum:

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

Autor: Klaus Wachtler (mfgkw)
Datum:

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

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

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

und auch den Artikel
http://www.mikrocontroller.net/articles/FAQ#Wie_fu...

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

Autor: Hans Peter (Gast)
Datum:

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

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.