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

Re: strx.comp hängt sich auf Kategorie: Programmierung (von Bodo Krekel - 6.03.2008 20:44)
Als Antwort auf Re: strx.comp hängt sich auf von wema - 6.03.2008 15:18
Ich nutze:
C164CI-ControllerBoard, CC2-Application-Board, OSOPT V3.1
Hallo Heiko,

das kann ich natürlich gerne tun, auch wenns bischen lang ist. Aber ich glaube das steht
tatsächlich eher in Zusammenhang mit der sys0002.hex weil wie gesagt das Ding schon bei

hängenbleibt.

Aber trotzdem gerne der Code :
Die Funktion ist : Ein Funkmodem (easyradio (rnfunk)) schickt von einem anderen Controller
Steuerknüppelstellungen. Das Programm empfängt diese Daten und zerlegt sie in nutzbare
numerische Werte wenn die Einleitung KS ist und die Ausleitung X



thread sensorenbedienung
{
  byte i;
  byte x;
  if pcf.get(var.PCF2,6) == -1 var.sb_lg_steuerungturmboden = 0;
  if pcf.get(var.PCF2,6) == 0 var.sb_lg_steuerungturmboden = 1;

  if var.sb_lg_steuerungturmboden == 0 // if turm
  {
   run 255;  // Wenn die Priorität nicht hochgesetzt ist zerhackt der den seriellen
                 // und es kommt nur noch Unsinn raus
   x= 0;
   while x!=10 // line feed
     {
     wait swcom.rxd();
     //{plm.beep(15); sleep(30); plm.beep(-1);sleep(5);}  // Für Debugging
     x=swcom.get();
     //hwcom.put(x);   // Für Debugging
     if x!=13 // CR (Carrigde Return)
       { var.sereingang[i] = var.sereingang[i]+x;}
     // und wenn x dann CR ist dann gehe zum nächsten array wert
     if x==13 i = i+1;
     }
   resume sensorenbedienung;

   if strx.comp("KS",var.sereingang[0]) == -1  // Wenn 1. Stringteil = KS
     if strx.comp("X",var.sereingang[7]) == -1 // und letzter Stringteil = X
       { // dann ist die wahrscheinlichkeit sehr sehr hoch das auch der rest ok ist
         var.al_ad_armein = strx.getNum(var.sereingang[1]);
         var.al_ad_armaus = strx.getNum(var.sereingang[2]);
         var.al_ad_armhoch = strx.getNum(var.sereingang[3]);
         var.al_ad_armrunter = strx.getNum(var.sereingang[4]);
         var.al_ad_turmlinks = strx.getNum(var.sereingang[5]);
         var.al_ad_turmrechts = strx.getNum(var.sereingang[6]);
       }

   i=0;
   for i = 0 ... 8 var.sereingang[i] = "";
   i=0;
  }
}


> Hallo Bodo,
>
> kannst Du uns evtl. einmal den ganzen Code-Abschnitt schicken (zeigen)?
>
> Hast Du alles hinsichtlich korrekt gesetzter Semikoli (oder wie war die Mehrzahl von Semikolon?)
> überprüft?? Ich hatte diesbzgl. auch schon solche Fehler.
>
> GruÃ?,
> Heiko


    Antwort schreiben


Antworten: