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

Re: for-Schleife Kategorie: Programmierung (von André H. - 7.11.2003 10:57)
Als Antwort auf for-Schleife von TN - 6.11.2003 10:48

Hallo TN,

Also bei mir funzt die Funktion:
Die for-Schleife wird, wie erwartet, zweimal durchlaufen.
byte s;
function unscharf_beep()
{
 for s=1...2
 {
  plm.beep(33);
  sleep 100;
  plm.beep(20);
  sleep 100;
  plm.beep(-1);
 }
}


Kann es aber sein, daÃ? die Funktion immerwieder aufgerufen wird, weil
Dein auf 1 stehender Integer nicht zurückgesetzt wird ?

Um einen Tasten-Druck zu signalisieren, hast Du zwei einfache Möglichkeiten:
1. Mit einer Funktion
2. Mit einem Thread

Der Aufrufende Code müsste so aussehen:

thread irgendwas
{byte c;
 ...
 ...
 c=rbkeyb.get();
 if c
  {
   // unscharf_beep();  // Bei Funktion
   run unscharf_beep(); // Bei Thread
   // Ab hier Tastenauswertung:
   if c=='1' ...
   else
   if c=='2' ...
   else
   if c=='3' ...
   usw. ...
   ...
   wait rbkeyb.get()==0 // Warten bis Taste losgelassen
  }
 ...
 ...
}


Wenn das Beep über eine Funktion aufgerufen werden soll, kann diese so
bleiben wie sie ist.
Soll jedoch ein Thread hierfür benutzt werden , müsste dieser so aussehen:

thread unscharf_beep()
{byte s;
 for s=1...2
 {
  plm.beep(33);
  sleep 100;
  plm.beep(20);
  sleep 100;
  plm.beep(-1);
 }
 halt;
}



MfG André H.


> Hallo,
>
> ich möchte das mit der folgenden function eine
> Tastatureingabe bestätigt wird, dafür setze ich ein
> "int" auf "1"  welches dann die fuction aufruft:
>
> function unscharf_beep()
> {
> for s=1...2 {plm.beep(33);
> sleep 100;
> plm.beep(20);
> sleep 100;
> plm.beep(-1);}
> }
>
> Jedoch ist noch etwas falsch, denn das Beep wird immer
> wieder ausgeführt. Ist zwar logisch da das "int" immer noch
> auf "1" steht, aber die schleife sollte das doch eingentlich
> nach dem dritten Durchlauf stoppen. Warum geht das aber
> bei mir nicht?
>
> Was ist falsch.
> DANKE


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

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: