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

Re: hwcom + Hyperterminal Kategorie: Programmierung (von André H. - 17.09.2002 23:40)
Als Antwort auf hwcom + Hyperterminal von Klaus - 17.09.2002 21:44

Hallo Klaus,
 
> ich würde mir gerne ein paar Werte aus der CC2 auslesen. Dazu dachte ich, einen Befehl an die CC2 zu senden (irgend ein Zeichen oder so), die die CC2 einliest, auswertet und dann entsprechende Werte über die hwcom zum PC senden.
>
> Das Senden zum PC, auf dem ich den HyperTerminal verwende funktioniert, hier habe ich eine Routine, die den Zweck erfüllt (licht.print....)
>
> Im HyperTerminal habe ich keine Funktion gefunden direkt Text, sondern nur eine Textdatei zu übertragen.
> Also habe ich eine Datei angelegt und nur "AUS" reingeschrieben (da ich von meiner Schaltung die Ausgänge haben will).
>

Warum so umständlich ?
Du kannst doch einfach einen Text eingeben !

Hier ein kleines Beispiel um die Ports an P1H über Hyperterminal zu schalten:
Es werden die neuesten Versionen von hwcom.c2 und strx.c2 benötigt.
Ã?bertragungsgeschwindigeit 57.600 Baud

thread main
{ string s, searchfor; int port;
  hwcom.init();
  hwcom.setspeed(8);
  hwcom.put(12); // Terminal-Fenster löschen
  loop
  {
   s="";
   hwcom.inputstr(s,1); // String einlesen, Echo zurücksenden
   hwcom.put(10);
   strx.Ucase(s,0,str.length(s)); // String in GroÃ?buchstaben umwandeln
   if strx.getchar(s,0) == 'P'
      {
       port=strx.getchar(s,1)-0x30;
       if port>=0 and port <=7
          {port=port+8;
           searchfor="EIN";
           if strx.InStr(0,s,searchfor,str.length(s),3) != -1 ports.set(port,1);          
           searchfor="AUS";
           if strx.InStr(0,s,searchfor,str.length(s),3) != -1 ports.set(port,0);          
           searchfor="DEACT";
           if strx.InStr(0,s,searchfor,str.length(s),5) != -1 ports.deact(port);          
          }
      }
   else
   if strx.getchar(s,0) == 'G'
      {
       port=strx.getchar(s,1)-0x30;
       if port>=0 and port <=7
          {
           s="Port P1H.";
           str.putint(s,port);
           port=port+8;
           if ports.get(port) s=s+ " EIN"; else s=s+ " AUS";
           hwcom.print(s);
           hwcom.ret();
          }
      }
   else
      {
       s="No Command"+13+10;
       hwcom.print(s);
       hwcom.ret();
      }
  }
}
   
Das Programm sollte funzen. (Ich hab's schnell aus dem Stegreif getippt)

zur Bedienung:
Gib im Hyperterminal folgendes ein, um Ports zu setzen:
(GroÃ?/Kleinschreibung ist egal)
p0 Ein (=Port P1H.0 einschalten)
p7 Aus (=Port P1H.7 ausschalten)
usw.
Port deaktivieren geht auch :-)
z.B.:
p3 deact

Wichtig ist, da� Du Enter/Return nach eingabe des Befehls drückst.

Du kannst auch "p0=ein" schreiben.
Wichtig ist, daÃ? das erste Zeichen "p" und das zweite die Portnummer(0-7) ist
und das Wort "ein" oder "aus" danach steht. Was dazwischen steht, ist egal.

Um Ports von P1H abzufragen gibst du einfach "g" + Portnummer ein.
z.B.:
g2
Auch hier das Enter/Return drücken nicht vergessen.

Ich hoffe das hilft Dir weiter.

MfG André H.




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

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Danke (von Klaus - 21.09.2002 22:34)