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

HWCOM Letzes Zeichen bei nächster Übertragung Kategorie: Programmierung (von Daniel Schartz - 11.07.2006 9:00)


Hallo,

Ich bin dabei ein Programm zu schreiben um auf einer seriellen Schnittstelle bestimmte
 Messages abzufangen und ein Relais daraufhin zu schalten.

Wenn ich die C-Control resette, dann funktionniert das Programm einwandfrei.
Nach einiger Zeit wird dann das letzte Zeichen der �bertragung dann erst bei der nächsten
Ã?bertragung mit inbuffercount gesehen.

Kann ich ohne zusätslichen Protokoll diesen Zustand feststellen und das Zeichen 'nachlesen' ?

Hier der Code :
thread HandleSerial
{
 byte i;
 int Holt;
 string strHolt;
 string strStart;
 string strTest;
 string strEnd;
 
 // Init Variables
 strStart ="START";
 strTest = "TEST";
 strEnd = "END";

// wait hwcom.rxd();
   wait hwcom.inbuffercnt() >0;
   i= hwcom.get();
   if i== 13
    {
     strx.Ucase(mybuffer,0,str.length(mybuffer));
/*     capture flagRel;
     strDisplay1 = mybuffer;
     release;
*/
     Send(mybuffer,str.length(mybuffer));
     if strx.InStr(0,mybuffer,strTest,str.length(mybuffer),4) > -1
     {
      /*capture flagRel;
      strDisplay2 = Dumbo;
      release;
      */
     }
     else
     {
      if strx.InStr(0,mybuffer,strStart,str.length(mybuffer),4) > -1
      {
       strx.left(mybuffer,strHolt,2);
       Holt = getNum(strHolt);
       Holter[Holt] =1;
       capture flagRel;
       strDisplay2 = "Start Alarm ";
       str.putint(strDisplay2,Holt);
       release;

       stports.setRel(1,1);
      }
      else
      {
       if strx.InStr(0,mybuffer,strEnd,str.length(mybuffer),3)>-1
       {
        strx.left(mybuffer,strHolt,2);
        Holt = getNum(strHolt);
        Holter[Holt] =0;
        capture flagRel;
        strDisplay2 ="End Alarm ";
        str.putint(strDisplay2,Holt);
        release;
        if lastOn()
        {
         stports.setRel(1,0);
        }
       }
      }
      }
   BufPos =-1;
  }
   else
   {
   BufPos = BufPos +1;
   SetByte(mybuffer,i,BufPos);
   setStrLen(mybuffer,BufPos + 1);
   
   }
}


Mit Bitte um Hilfe


Danke in Voraus

Daniel Schartz


    Antwort schreiben


Antworten:

Re: HWCOM Letzes Zeichen bei nächster Übertragung (von Christian Jost - 7.08.2006 21:55)
    Re: HWCOM Letzes Zeichen bei nächster Übertragung (von Daniel Schartz - 8.08.2006 11:12)