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

Re: Impulszähler Kategorie: Programmierung (von Joachim S - 6.01.2005 17:35)
Als Antwort auf Impulszähler von azur - 6.01.2005 11:22
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
Hallo,

ich glaube, dein Problem liegt  u.A.darin, dass du etwas seltsam einrückst ;-)

Ich hab deinen Text mal in die Entwicklungsumgebung kopiert, so formatiert, wie ich es machen würde,
und dann sieht das folgendermaÃ?en aus.
 


function piep()
{
  plm.beep(1);
  sleep 100;
  plm.beep(plm.TONE_OFF);
}


//-----
thread main
{
int i,n;
station_io.init();              //IO
station_lcd.init();             // LCD
float abfrage, abfragealt;
string s;
int vhoch[8];
float Schwellspannung;
Schwellspannung = 1000;


abfrage =  ports.adc(1);
if abfrage > Schwellspannung
{
  vhoch[0] = 1;
}
else
  vhoch[0] = 0;

// str.putfloatf(s,abfrage,2);
str.putint(s,vhoch[0]);
station_lcd.print(s);
abfragealt = abfrage;

for n = 1 ... 7
{
  while(abfragealt == abfrage)
  {
    abfrage =  ports.adc(1);
  }

  piep();

  if abfrage > Schwellspannung
  {
    vhoch[n] = 1;
  }
  else
    vhoch[n] = 0;

  str.putint(s,vhoch[n]);
  station_lcd.print(s);

  abfragealt = abfrage;

quit 1;
}


Nun sieht man deutlich, dass du im Grunde nur siebenmal das Programm beendest..

Ich hab ehrlich gesagt nicht ganz verstanden, was du planst. Aber dein Problem liegt für mein
Gefühl einfach daran, dass du noch nicht so richtig vertraut mit der Sprache bist.

Einfach etwas üben, mit einfacheren Sachen, dann klappt das schon.

Und für Einrückungen gibts eine einfache Regel. Nach jeder "{" rückt man ein. Nach jeder "}" rückt
man wieder raus. Und jede Klammer in eine eigene Zeile. Stur dran halten, und schon kann fast
nichts mehr schief gehen. Die "else"-Blöcke hab ich auch eingerückt. Nur eine Zeile, denn so ist es
ja auch vom Ablauf her. Soll der else-Block mehr als eine Zeile umfassen, sieht es folgendermaÃ?en aus.

if (i==1)
{
  tu dies;
  tu jenes;
}
else
{
  tuwasanderes;
  tunochwasanderes;
}

Saubere Einrückerei nimmt zwar reichlich Platz auf dem Bildschirm in Anspruch, aber
Ã?bersichtlichkeit ist durch nichts zu ersetzen.

Oben sieht man schon, dass ich es auch nicht ganz korrekt gemacht habe. Nach ThreadMain hätte
ich auch einrücken müssen...

Und dann sieht man, dass da sogar die abschliessende } fehlt... Bei mir lieÃ? sich dein Text also
garnicht erst übersetzen.

Ich hoffe, das hilft dir.

Gruss Jo


    Antwort schreiben


Antworten:

Re: Impulszähler (von Sepp - 6.01.2005 21:06)
    Bin doch noch klein... ;-) (von Joachim S - 6.01.2005 22:26)
        Re: Bin doch noch klein... ;-) (von azur - 7.01.2005 13:35)
            Re: Bin doch noch klein... ;-) (von André H. - 12.01.2005 21:11)
            Re: Bin doch noch klein... ;-) (von krassos - 12.01.2005 19:06)
                Re: Bin doch noch klein... ;-) (von Sascha - 13.10.2006 1:17)