hallo,
scheint wohl eine echt schwierige aufgabe zu sein. -da hab ich rn-keylcd anscheinend ganz schön überschätzt.
-ich finde tatsächlich nirgends irgendwelche beispielprogramme, wo mein problem nachvollziehbar gelöst wird.
grüße,
andreas (tomhut)
ein freundliches hallo an alle!!
meine hardware: RN-Control 1.4 über I2C mit rn-keylcd 1.2 verbunden, Bascom
komme einfach nicht weiter und starte erneut einen hilferuf.
ich möchte z.b. die dreistellige zahl "128" eintippen und dann auch auf dem display sehen. außerdem soll RN-Control dann mit der zahl "128" weiterrechnen. mit einstelligen zahlen krieg ich das hin, aber eben nicht mit mehrstellig.
finde so ein programm sollte rn-keylcd auch als demoprogramm beiliegen, da eine solche anwendung meiner meinung nach für rn-keylcd logisch ist.
danke, danke,
andreas (tomhut)
hallo, -ich bins nochmal,
vielleicht kennt ja von euch jemand ein beispielprogramm oder demo, wo aus den nacheinander eingetippten zahlen eine mehrstellige wird? -also aus der getippten 1+2+8 ne 128 wird. ich komm echt nicht weiter.
ich bau übrigens grad ne schrittmotor-betriebene foto-stativ-schwenkeinheit, und brauche die tastatur und das display, um einzutippen wieviel grad geschwenkt werden soll.
grüße,
andreas (tomhut)
hallo,
scheint wohl eine echt schwierige aufgabe zu sein. -da hab ich rn-keylcd anscheinend ganz schön überschätzt.
-ich finde tatsächlich nirgends irgendwelche beispielprogramme, wo mein problem nachvollziehbar gelöst wird.
grüße,
andreas (tomhut)
Hallo Andreas,
willst du immer eine 3-stellige Zahl eingeben (also 002, 020, 200) oder unterschiedliche Länge (2, 20, 200)?
Wenn du ganz flexible sein willst, hängst du das eingegebene Zeichen an eine String-Variable MyStr an und holst dir den Wert dann mit val(MyStr).
Zeig doch mal den Code für eine Ziffer einzulesen, dann kann man den auf mehrere Ziffern erweitern.
Gruß
Rolf
Hallo Andreas,
vielleicht liegt kein Beispielprogramm bei, weil davon ausgegangen wird dass ein so einfaches Problem von jemandem, der sich mit Programmieren beschäftigt, ohne Weiteres gelöst werden kann.
Mein Ansatz wäre: Wert der ersten Taste in eine Variable schreiben. Wenn die nächste Taste gedrückt wird, die Variable mit 10 multiplizieren und den neuen Wert addieren. Beim nächsten Tastendruck wiederholst du das Ganze.
Entweder legst du eine Taste (Enter) fest, nach deren Druck die Variable dann verwendet wird oder du schreibst das Ganze in eine Schleife mit Zähler. Wenn innerhalb einer gewissen Zeit keine Taste mehr gedrückt wird, geht das Programm weiter und die Variable wird verwendet.
Gruß, Stefan
hallo,
ja! -das hört sich wirklich einfach an! -werd gleich mal ausprobieren.
ich geb bescheid, wenns geklappt hat. -kann aber dauern, da ich gleich weg muss.
vielen vielen dank!
finde aber wirklich, dass zwischen dem standard-demoprogramm "hello world" und den weitern demoprogrammen oft ne riesengroße lücke klafft.
denke ich komme jetzt weiter, -danke
andreas
hallo nochmal,
vielen vielen dank für die hilfen!!!!!!!
jetzt klappt alles perfektest! -tja, auch die einfachsten sachen muss man lernen!
andreas
So hab ich es auch gemacht, leider zu spät gesehen.
ICH benutze ein Keypad, per PS/2 angeschlossen am Rn 2650 und dem Display3000 TFT, alles funktioniert wunderbar....
Vielleicht kann ja jemand noch etwas damit anfangen...Code:'_____X-Abfrage_________________________________________________________________ Do E = Getatkbd() Num1x1 = Chr(e) Num1x = Val(num1x1) If E > 0 Then Call Lcd_print(num1x1 , 80 , 85 , 1 , 1 , 1 , White , Black) If E = 0 Then Loop Else Nop Do R = Getatkbd() Num2x2 = Chr(r) Num2x = Val(num2x2) If R > 0 Then Call Lcd_print(num2x2 , 89 , 85 , 1 , 1 , 1 , White , Black) If R = 0 Then Loop Else Nop Do U = Getatkbd() If U = 13 Then Gosub Wert2_x Else Nop Num3x3 = Chr(u) Num3x = Val(num3x3) If U > 0 Then Call Lcd_print(num3x3 , 98 , 85 , 1 , 1 , 1 , White , Black) If U > 20 Then Gosub Enterx Else Loop Enterx: Do Q = Getatkbd() If Q = 13 Then Gosub Wert1_x Else Loop Wert2_x: Num1x = Num1x * 10 Weite_x = Num1x + Num2x 'Nummx ist der Wert für den X-Vorschub Gosub Y_abfrage End Wert1_x: Num1x = Num1x * 100 Num2x = Num2x * 10 Numx = Num1x + Num2x Weite_x = Numx + Num3x 'Nummx ist der Wert für den X-Vorschub If Weite_x > 150 Then Ueberschreiten Else Nop Gosub Y_abfrage End
Lesezeichen