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

Re: Perl (unter Linux) Daten auf CC2 via hwcom Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 14.02.2003 14:09)
Als Antwort auf Perl (unter Linux) Daten auf CC2 via hwcom von Loki - 6.02.2003 13:40

Hallo loki,

Du hast einen kleinen Fehler im Syntax/Funktionsaufruf von hwcom.receive()
Schreib einfach anstatt

  wait hwcom.rxd();
  for i = 0 ... < 16
    {
     hwcom.receive(buf[i],length,timeout);
    }

einfach

  wait hwcom.rxd();  // Wartet auf Daten im Empfangspuffer
  hwcom.receive(buf,16,timeout);

receive() erwartet nämlich eine Puffervariable ohne Indexangabe.

MfG André H.

> hi an alle
>
> an und für sich ist mein problem geringfügig, glaub ich zumindest, aber ich brings einfach nicht zusammen.
>
> ich möchte mit einem perl scrip unter linux 16 zeichen über die serielle schnittstelle schicken (hwcom).
> vorerst hab ich es einfach in einer shell mit  echo 1....16 > /dev/ttyS0 gesendet. irgendwas hat die cc2
> auch empfangen, jedoch nicht den korrekten inhalt, der ausschlieÃ?lich aus 1 und 0 besteht.
>
> ich habs jetzt mal so probiert:
>
> function cc2main()
> {
>   byte buf[16]; // 16 Felder
>   int length, i, k;
>   long timeout;
>   string msg;
>
>   length = 1; // mit einem Zeichen
>   timeout = 100;
>
>   wait hwcom.rxd();  // Wartet auf Daten im Empfangspuffer
>
>   for i = 0 ... < 16
>     {
>      hwcom.receive(buf[i],length,timeout);
>     }
>
>  
>       config.tempein      = buf[0] - 0x30;
>       config.tempaus      = buf[1] - 0x30;
>       config.usvein        = buf[2] - 0x30;
>       config.usvaus        = buf[3] - 0x30;
>       config.mailein      = buf[4] - 0x30;
>       config.mailaus      = buf[5] - 0x30;
>       config.fileserverein= buf[6] - 0x30;
>       config.fileserveraus= buf[7] - 0x30;
>       config.asserverein  = buf[8] - 0x30;
>       config.asserveraus  = buf[9] - 0x30;
>       config.asein        = buf[10] - 0x30;
>       config.asaus        = buf[11] - 0x30;
>       config.fileein      = buf[12] - 0x30;
>       config.fileaus      = buf[13] - 0x30;
>       config.smsein        = buf[14] - 0x30;
>       config.smsaus        = buf[15] - 0x30;
>
>
>     for i=0 ... < 16
>      {
>       buf[i] = 0;
>      }
> }
>
>
> diese 16 Nullen und Einser dienen nämlich zum ein und ausschalten versch. funktionen.
> würde mich über ein paar tips, oder vielleicht sogar ein funktionierendes programm, dass für euch
> ja sicherlich eine kleinigkeit ist, freuen.
>
> na dann ,... fangt mal an *g*
>
> kind regards
>
> loki


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

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: