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

Re: Serielle Schnittstelle V24 Kategorie: Programmierung (von nitraM - 9.03.2010 13:23)
Als Antwort auf Re: Serielle Schnittstelle V24 von Torsten - 8.03.2010 21:15
Ich nutze:
C164CI-ControllerBoard, eigenes Board, OSOPT V3.0, OSOPT V3.1
Hallo Torsten
in dem Modul global speichert Rene alle Variablen, um darau zuzugreifen...
Das ist nichts fertiges, sondertn selbst geschrieben...

nitraM

> Hallo Rene,
> besten Dank zunächst!
>
> Weitere Frage:   "global.watchdog1=1;"
> Was ist das?  Bekomme immer Fehlermeldung unknown identifier "global".
> Kann kein Modul finden, das passt.
>
> Danke und mfG
> Torsten
>
> -----------------------------------------------------------------------
>
>
>
>
> > Hallo Torsten,
> >
> > anbei mein funktionierendes Beispiel, vergleiche mit deinem und ändere entsprechend ab.
> > Ich sende immer 10 stellige Datensätze vom PC zur Control, im nachfolgenden Emfangsthread
> > werden diese dann aufbereitet, bzw. anderen Programmteilen zur Verfügung gestellt.
> >
> >
> > im Main Thread so ähnlich
> >
> > hwcom.init();hwcom.setspeed(6);
> >

> >
> >
> > im Emfangsthread dann so:
> >
> >
> > /******************************************************************************
> > Eingsdaten erfassung vom Server
> > ******************************************************************************/

> >
> > thread ein232
> > {
> >
> > // Varis definieren und setzen -------------------------------------------------
> > int Befehl;
> > string s,b,l;
> >
> > Befehl=0;
> > s="          ";b="  ";l="    ";
> >
> >
> >
> > loop
> > {
> > global.watchdog1=1;hwcom.flush();
> >
> > s="          ";b="  ";l="    ";
> >
> > wait hwcom.rxd();
> > hwcom.receive(s,10,50);
> >
> >
> >
> > // nur gültige Datensätze in die Verarbeitung schicken +++++++++++++++++++++++++
> > // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >
> > b="AD" ; if strx.compsel(s,b,2,0) {       // wenn am Anfang ein "AD" ist
> >    b="E" ; if strx.compsel(s,b,1,9) {     // wenn an letzter Stelle ein "E" ist
> >    
> >
> >          stports.togLED(5);   // Anzeige RS232 Empfang an LED 5 ----------------
> >
> >
> >
> >          // Rolladen Befehle / Datensätze -----------------------------------------
> >          b="200" ; if strx.compsel(s,b,3,2) {  // Datensätze mit 200 -----------
> >                  strx.mid(s,l,5,4);            // Befehlsnummer in String l
> >                  global.BeRo=strx.getNum(l);   // String l in Integer umwandeln
> >                  continue;}
> >      
> >      
> >          // Für Control Keller ------------------------------------------------
> >          b="22" ; if strx.compsel(s,b,2,2) {   // Datensätze mit 22 ------------
> >          global.BeCa=2;global.DaCa2=s ;continue;}
> >
> >      
> >          // Für Control Heizung ------------------------------------------------
> >          b="23" ; if strx.compsel(s,b,2,2) {   // Datensätze mit 23 ------------
> >          global.BeCa=1;global.DaCa=s ;continue;}
> >
> >
> >          // Für Control Haus ---------------------------------------------------
> >          b="24" ; if strx.compsel(s,b,2,2) {   // Datensätze mit 24 ------------
> >          global.BeAn=1;global.DaAn=s ;continue;}
> >          
> >
> >
> >          // Licht Befehle / Datensätze -----------------------------------------
> >          b="250" ; if strx.compsel(s,b,3,2) {  // Datensätze mit 250 -----------
> >                  strx.mid(s,l,5,4);            // Befehlsnummer in String l
> >                  global.BeLi=strx.getNum(l);   // String l in Integer umwandeln
> >                  continue;}
> >
> >
> >          // Funktions Befehle / Datensätze -------------------------------------
> >          b="260" ; if strx.compsel(s,b,3,2) {  // Datensätze mit 260 -----------
> >                  strx.mid(s,l,5,4);            // Befehlsnummer in String l
> >                  global.BeFu=strx.getNum(l);   // String l in Integer umwandeln
> >                  continue;}
> >
> >
> >
> >          
> >
> >
> >
> >          // System Befehle -----------------------------------------------------
> >          b="9990001"; // Watchdog für RS 232 auf Controlseite
> >          if strx.compsel(s,b,7,2) {global.watchdog1=1;continue;}
> >
> >          b="9990002"; // Watchdog für I²C Bus auf Controlseite
> >          if strx.compsel(s,b,7,2) {i2c.init();sleep 150;i2c.stop();continue;}
> >
> >
> >          b="9990003"; // Software Reset des Systems
> >          if strx.compsel(s,b,7,2) {
> >             quit -1;continue;}
> >
> >          b="9990004"; // Hostmodus einleiten
> >          if strx.compsel(s,b,7,2) {
> >             quit 63;continue;}
> >
> >
> >
> >
> >
> > }} // Ende Abarbeitung gültiger Datensätze +++++++++++++++++++++++++++++++++++++
> > // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >
> >
> >
> > // Anzeige ungültiger Datensätze
> > // lcdext.clear();lcdext.print("");
> > // lcdext.line(2);lcdext.print(s);
> >
> >
> > }}
> >
> >



    Antwort schreiben


Antworten: