mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zahleneingabe mit einem Touchdisplay


Autor: Marcel K. (viewer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forumgemeinde,

ich möchte in meinem Touchdisplay-Projekt zusätzlich eine Schaltuhr mit 
integrieren. (Eingabe der Start- und Stopp- Zeit)  Jetzt weiß ich 
allerdings nicht so genau wie ich das realisieren soll. Mein Problem 
liegt in der Speicherung und Anzeige der einzugebenden Werte.
Ich möchte z.B. für 12:26 Uhr die 1 drücken, dann erscheint die 1, dann 
die 2. Es erscheint die 2 und dann folg der Doppelpunkt. Usw. Speichere 
ich das am besten in einem Array ab?? Gebe ich dann gleich das Array 
wieder aus. Für die Ausgabe des Array brauche ich doch dann einen 
Zeiger, oder?? (oh je, da war ja was mit dem * und dem &… muss ich mal 
wieder auffrischen!!!!!)
Ich habe allerdings die Funkuhr meines Displays in einem String stehen. 
Das heißt ich hätte mit „String-Vergeleich“ eine einfache Lösung für das 
EIN/AUS schalten.

Meine Frage ist ob jemand so etwas schon mal gemacht hat?? Hätte da 
jemand einen C-Code-Beispiel?? Ich wäre über jede Idee dankbar…

Danke für eure Mühe…

Grüße Marcel (",)

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

Bewertung
0 lesenswert
nicht lesenswert
Speichere Zeiten nicht als String sondern als Zahlenwerte.
Spätestens dann, wenn du Vergleiche oder Reihungen damit
machen musst, rächt sich alles andere durch erhöhten Aufwand.

Du hast im wesentlichen 2 Möglichkeiten. Entweder du speicherst
alles in Form von Stunden und Minuten oder gleich als Minuten.
Ist ja nicht weiter schwer das umzurechnen:

* Gegeben Stunden und Minuten. Gesucht: Minuten ab Mitternacht

  TotalMin = 60 * Stunden + Minuten

* Gegeben Stunden seit Mitternach. Gesucht: Stunden und Minuten

  Stunden = TotalMin / 60
  Minuten = TotalMin % 60

> Ich möchte z.B. für 12:26 Uhr die 1 drücken, dann erscheint die 1,
> dann die 2. Es erscheint die 2

Ja. OK. Sollte ja kein Problem sein.

Intern rechnest du:  1 * 10 + 2 und kriegst so die 12 die du
als Stunden speicherst oder aufhebst um daraus Minuten ab Mitternacht
zu berechnen.

Selbiges dann mit den Minuten: Erste Eingabe * 10 + Zweite Eingabe

> Für die Ausgabe des Array brauche ich doch dann einen
> Zeiger, oder??

Quatsch mit Sosse. Um mit einem Array zu arbeiten brauchst du
Array Inidzierung, also den Zugriff mit []. Wenn du ein Array
an eine Funktion übergibst, wird sowieso immer ein Pointer
auf den Beginn des Arrays übergeben. Innerhalb einer Funktion
kann man aber trotzdem Array-Indizierung verwenden.
Vielleicht wäre mal ein C-Buch angebracht.

Autor: tastendrücker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Vielleicht wäre mal ein C-Buch angebracht.

Wieso, wir haben doch hier Karl Heinz (C-)Buch'egger?
SCNR


Aber in Ernst, deine Ausführungen sind immer erte Sahne! Machst du das 
eigentlich auch beruflich (Dozieren, (C-)Bücher schreiben...?

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

Bewertung
0 lesenswert
nicht lesenswert
> Machst du das
> eigentlich auch beruflich (Dozieren,

Nicht mehr.

> (C-)Bücher schreiben...?

Dazu hab ich nicht die Geduld.

Autor: Marcel K. (viewer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo  Karl heinz Buchegger,

vielen Dank für deine Ideen. Also ich weiß schon wie das mit den Zeigern 
funktioniert, allerding ist das schon über 2 Jahre her als ich das 
wissen musste. Ich müsste mich halt noch mal richtig einlesen :o)

Das mit der speicherung in einer kompletten Zahl finde ich echt genial!! 
So kann man eine Uhrzeit in einer einzelnen Zahl darstellen. Das spart 
Speicherplatz. Vielen Dank für den Tipp!!!

Herzlichen Dank und einen guten Rutsch.....

Grüße, Marcel

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.