Forum: Mikrocontroller und Digitale Elektronik Zahleneingabe über Matrixtastatur


von Werner (Gast)


Lesenswert?

Ich habe ien Problem mit der Eingabe von Zahlen mittels Matrixtastatur.

Und zwar die Tastatur (0-9 . + - ) liefert die Werte.
Ich soll muss sie sofort am LCD visualisieren aber auch gleichzeitig 
zwischenspeichern. Denn sobald Enter gedrückt wurde sollen ja die 
gedrückten Zahlen mit oder ohne Vorzeichen in einer Variable stehen.

Kann mir vielleicht einer helfen!

0-9 habe ich schon geschaft aber + - . machen mir sorgen

DANKE für die Antwort
Werner

von Reiner (Gast)


Lesenswert?

Sollen + und - das Vorzeichen wechseln oder was?
Was benutzt Du C, ASM, Basic?


Wenn die Ziffern eingegeben werden, kannst Du Sie auf gleich in eine 
Zahl umwandeln und mit Vorzeichen ausgeben. Wird ein + eingegeben muß zu 
der Zahl nur wenn sie negativ ist INTMIN oder LONGMIN hinzuaddiert 
werden.
Bei einem - addierst nur wenn sie positiv ist INTMIN oder INTLONG hinzu.

Nach jeder Eingabe mußt Du natürlich die ganze Zahl immer wieder 
ausgeben.

Du kannst natürlich auch nur die Ziffernfolge speichern und den ersten 
Platz der Folge für das Vorzeichen reservieren und bei + oder - dort 
dann eintragen, aber solche Lösungen sind programmiertechnisch etwas 
unschön. Aber was Du für Dich
machst ist ja Dein Ding.


Reiner

von Werner (Gast)


Lesenswert?

Mit C

Ein beispiel hast du nicht oder?

Werner

von Reiner (Gast)


Lesenswert?

Nun ich weiß ja nicht wie Deine Matrix die Tastenwerte erzeugt.
Wenn Du eine Lösung für Dein Problem suchst, solltest Du Deinen Source 
schon zeigen. So können die Leute aus dem Forum am besten etwas in Deine 
Struktur einpassen.

Reiner

von Werner (Gast)


Lesenswert?

key ist die Taste die auftritt.


code char tast[13]={43,45,46,48,49,50,51,52,53,54,55,56,57,};
code char tastzuort[13] = "+-.0123456789";

for (z=0;z<13;z++)
    {if (key==tast[z])
      {Taste=tastzuort[z];
      sprintf(line,"%c",Taste);
      print_string(line);
      }
     }
Bei diesem Code wird die gedrückte Zahl gleich aufs LCD geschrieben.

Jetzt habe ich noch das Problem das mehrere Zeichen eingegeben werden 
und in einer Varible abgelegt werden sollen.

z.B. Es soll 1234 eingegeben werden und dürch drücken einer Entertaste 
dies in eine Varible gespeichrt werden.

Werner

von Reiner (Gast)


Lesenswert?

Aber wenn ich Dich richtig verstanden hatte sollte doch +- eine 
besondere Bedeutung haben? Wie war das genau?

Reiner

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.