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

So ein Schmarrn ! Kategorie: Programmierung (von André H. - 4.04.2004 11:28)
Als Antwort auf hwcom-Modul fehlerhaft von thomas - 2.04.2004 20:44
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo Thomas,

> Wenn ich kurz hintereinander einzelne Strings sende, dann kommt am anderen Ende
> nur "MIST" an!
>
> Also, wenn ich z.B. folgendes schreibe:
>
>   hwcom.print("Hallo ");
>   hwcom.print("Du ");
>   hwcom.print("Da!");
>   hwcom.ret();
>

>
> dann kommt am anderen Ende nur folgendes an:
> "HaDa!Da!"
> Dies ist abhängig von der eingestellten �bertragungsrate und dem Zufall.

Im Modul hwcom.c2 sind diesbezüglich keinerlei Fehler !
Wenn Du mit hwcom Festtexte ausgibst, muÃ?t Du warten, bis
der vorherige String gesendet wurde. Denn, wie hei�t es schon so schön
deutlich im Handbuch zur CC2: Das Senden von Datenrahmen (=Byterrays=Strings)
geschieht im Hintergrund (=eigener Systemthread).

> Eigentlich dürfte dies nicht passieren, da in den Routinen im Modul "hwcom"
> wait-Aufrufe vorhanden sind. Allerdings werden diese anscheinend nicht ausgeführt!!

Natürlich werden diese ausgeführt.
Du überschreibst nur mit jedem neuem print() die zu sendende Variable,
bevor sie gesendet wurde.

Wenn su beispielsweise so schreibst, gibt es keine Probleme:
string s1,s2;
 ...
 s1="Hallo ";
 hwcom.print(s1);
 s2="Du ";
 hwcom.print(s2);
 hwcom.print("Da!");
 hwcom.ret();


Kurz, wenn Du abwechselnd zwei Variablen benutzt, gibt's keine Probleme.
AuÃ?erdem ist diese Art des Sendens von Datenrahmen/Strings am schnellsten.

Natürlich hätte ich in hwcom.print() eine ready()-Abfrage am Ende der print()-Funktion
einbauen können. Dann würde aber der zugreifende Thread unnötig ausgebremst,
wenn dieder nich nur senden mu�, sondern auch noch andere Aufgaben erfüllt.
(z.B. Aufbereiten von zu sendenden Daten vor dem Senden etc.)
Ansonsten dürfte man nurnoch hwcom.print2() für das senden von Stringvariablen verwenden.

Sorry, aber langsam bin ich das Thema hwcom etwas leid, da dazu schon so viel geschrieben
wurde, und die Suchfunktion mittlerweile sicher genug Antworten dazu liefert !!

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:

Schmarrn ?? So nicht! (von thomas - 7.04.2004 22:59)
    Re: Schmarrn ?? So schon! (von André H. - 11.04.2004 9:51)
        Re: Schmarrn, jetzt wird's lustig (von thomas - 12.04.2004 21:03)
            Re: Schmarrn, jetzt wird's lustig (von Dietmar Weickert - 13.04.2004 11:10)
                hwcom-Modul nicht fehlerhaft (von thomas - 13.04.2004 22:26)