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

Re: Tastarurabfrage Kategorie: Programmierung (von André H. - 15.05.2005 20:21)
Als Antwort auf Tastarurabfrage von Daniel - 7.03.2005 10:07
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Hallo Daniel,

> So ein Forum ist ja echt ne feine Sache. Danke nochmal für die Hilfe. Allerdings habe ich
> schon wieder eine neue Frage. Ich möchte mittles der F-Tasten zwischen verschieden Programmen
> wählen können.

Man kann nicht zwischen mehreren Programmen umschalten, da man nur
ein einzelnes Programm in die CC2 laden kann.
Man kann nur zwischen verschiedenen Routinen "umschalten".

> Das habe ich bisher mit der Funktion getcode gemacht. Klappt auch wunderbar.
> Allderings wartet diese Funktion ja solange bis tatsächlich eine Eingabe gemacht wurde. Ich würde das
> ganze aber gerne wie folgt lösen. Beim Einschalten soll automatisch Programm1 gestartet werden,
> wenn nicht innerhalb einer bestimmten Zeit F1 gedrückt wurde. Es muss also für diesen Zeitraum
> auf eine Eingabe gewartet werden, wenn dieses nicht geschieht soll es danach aber automatisch
> weitergehen. Ich hoffe ich habe mich nicht allzu missverständlich ausgedrückt. Wie kann ich dieses
> Problem am besten lösen? Gibt es dafür auch irgendeine Funktion?  

Das Warten auf einen Tastendruck und ausführen einer Defaultroutine
ist nicht weiter schwer:

thread main
{long timer;
 byte key;
 stports.init();
 key=0;
 timer=system.timer();
 while system.timer()-timer<5000  and (key < stkeyb.F1 or key > stkeyb.F3)
 {
  key=stkeyb.get();
 }
 if key==stkeyb.F1 loop {<Routine1> }
 else
 if key==stkeyb.F2 loop {<Routine2> }
 else
 if key==stkeyb.F3 loop {<Routine3> }
 else
 loop {<Defaultroutine> }
}


MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: