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

get und put sind ok - receive ?? Kategorie: Programmierung (von Rene Forster - 8.12.2003 22:10)
Als Antwort auf Re: CC2 Station und hwcom von Tom - 8.12.2003 9:01

Hallo Tom,

die Funktione mit get und put als byte funktionieren. Eine Datenübertragung ist somit in beide
Richtungen möglich.

Aber wie funktioniert eigentlich dann die receive-Funktion ? Hatte gedacht die wartet und liest
einen String ein.

Habe die Datenübertragung momemtan mit byte realiesiert - es sind dabei aber nur 255 unterschiedliche
Befehle möglich. Aber wie gesagt - es funktioniert.


Danke

Rene

> Hallo Rene,
> ich sehe zwei Probleme in deinem Programm:
>
> 1. die Funktion hwcom.receive erwartet als Variable einen Bytearray
>    
> 2. die Funktion hwcom.receive wartet intern auf ein RXD(), wenn du also
>    nur ein Zeichen schickst wird kein weiteres RXD() ausgelöst und somit
>    läuft der Timeout ab.
>
> ich denke wenn Du an Stelle des
>
> > hwcom.receive(eingabe,1,1000);  // Daten in die Vari eingabe übernehmen ( ist String definiert )
>
> ein
>
> > eingabe= hwcom.get();
>
> benutzt sollte es gehen.
> Beachte aber, das weder receive() noch get() einen String zurückliefern sondern receive()
> ein Byte und get() einen Integerwert.
>
> mfg Tom
>
>
> > Hallo Zusammen,
> >
> > Hardware : CC2 Station mit neusten OS und hwcom Modul.
> > Software : Terminalprogramm RS 232 aus dem Buch MSR mit CC2
> >
> > CC2 und PC sind mit dem Nullmodemkabel verbunden, welches ich auch zum Programmieren
> > benutze. 3 Leitungssystem RxD,GND,TxD
> >
> > Problem : das Empfangen von Daten die über das Terminalprogramm gesendet werden.
> >
> > Eigener Thread, installierung vom hwcom und setzen der Parameter. Dann die Abfrage und zurück
> > senden der empfangenen Daten der Schnittstelle.
> >
> >
> >
> > if hwcom.rxd()           // Frage ob Daten vorhanden sind
> > {
> > plm.beep(plm.TONE_C2); sleep 500; plm.beep(plm.TONE_OFF);  - ja dann langer Ton
> >
> > hwcom.receive(eingabe,1,1000);  // Daten in die Vari eingabe übernehmen ( ist String definiert )
> > sleep 500;     // kurze Pause
> >
> > h=eingabe;                               // Ã?bergabe an Vari h ( ist auch als String definiert )
> > hwcom.send(h,str.length(h));      // Senden zurück
> > sleep 1000;                              // kurze Pause
> > hwcom.flush();                          // Speicher löschen - wird aber eigentlich bei hwcom.receive erledigt
> >
> > }
> > else
> > {                   // bei nein zwei kurze Töne und dann wieder zurück zur Abfrage ( läuft in loop Schleife )
> > plm.beep(plm.TONE_C2); sleep 25; plm.beep(plm.TONE_OFF);
> > sleep 250;
> > plm.beep(plm.TONE_C2); sleep 25; plm.beep(plm.TONE_OFF);
> > sleep 1000;
> > }
> >
> > Das Senden von Daten der CC2 zum Terminalprogramm funktioniert hervorragend, beim das Empfangen
> > will einfach nicht funktionieren.
> >
> > Hat jemand die CC2 Station im Einsatz und emfängt Daten vom PC.
> > Wäre über jede Hilfe dankbar.
> >
> > Rene Forster
> >
> >
> >
> >


    Antwort schreiben


Antworten:

Re: get und put sind ok - receive ?? (von André H. - 19.12.2003 8:53)
Re: get und put sind ok - receive ?? (von Tom - 9.12.2003 8:43)