Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

EDIP Makroprogrammierung Kategorie: Sonstige Hardware (von Heiko - 17.11.2008 12:39)
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo Zusammen,
ich beschäftige mich gerade mit der Makroprogrammierung meines EDIP240.
Wer kennt sich damit aus???

Ich möchte eine Matrixtastatur nachbilden, über welche ich aktuelle Zahlenwerte in die CC2 eingeben
möchte (Uhrzeit etc.).

Die zugehörigen Tasten dazu sind definiert und werden wie gewünscht dargestellt.
Ich möchte aber auf dem Display die jeweils gedrückten Tasten noch einmal quitieren,
ohne da� diese bereits an die CC2 übergeben werden.
Drücke ich also die Tasten 1,5,8,2, so soll auf dem Display der Text 1582 ausgegeben werden.

Dazu habe ich folgende Touchmakros definiert:

ad=0

TouchMakro: TmTouchZif0
 
  #ZL 150+ad,20,"0"
  xd=6+ad
  ad=xd


TouchMakro: TmTouchZif1
 
  #ZL 150+ad,20,"1"
  xd=6+ad
  ad=xd


TouchMakro: TmTouchZif2

  #ZL 150+ad,20,"2"
  xd=6+ad
  ad=xd

usw.

Die Variable ad soll dazu dienen den 'Cursor' bei der Ausgabe um eine Stelle weiterzurücken.
D.h. die erste gedrückte Zahl soll auf dem Display an Position 150, die 2. an
Position 156, die 3. an 162 usw. (das Display arbeitet im Grafikmodus).

Drücke ich nacheinander die Tasten 0,1,2 funktioniert das auch soweit, wie gewünscht.
Auf dem Display erscheint 012    .
Ã?ndere ich aber die Reihenfolge beim Eintippen (z.B. 1,2,0), so werden die Zahlen auf
dem Display trotzdem in der o.g. Reihenfolge 012 dargestellt.

D.h. die Position der jeweiligen Ziffer ist nicht abhängig vom Wert ad, sondern der Reihenfolge
der Definition des TouchMakros. Schreibe ich das Makro für Taste 2 vor dem für Taste 1, so wird die
2 auch vor der 1 geschrieben.

Es sieht also so aus, als wenn die Verarbeitung von Variablen im Makro nicht 100% sauber
läuft.

Kann dies jemand bestätigen bzw. hat eine Idee, wie ich das Problem lösen kann?
Wie gesagt, ich möchte die Zahlenkombination im Makro erst einmal aufbereiten und
dann komplett an die CC2 per #SB übergeben.

Kann man im Makroprogramm eigentlich auch bedingte Anweisungen realisieren (if then)?
Der Compiler bringt zumindest keinen Fehler, aber ich sehe keine Ergebnisse.

Danke schonmal für Eure Hilfe.

Heiko


    Antwort schreiben


Antworten:

Re: EDIP Makroprogrammierung (von Heiko - 20.11.2008 13:07)