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

Re: hwcom Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 16.02.2003 14:36)
Als Antwort auf Re: hwcom von randolf - 16.02.2003 13:00

Hallo randolf,

> danke für Deine Antwort. Anbei findest Du den Quelltext. Geladen ist wirklich die neuere OS (18.09.2001).
> Allerdings sind sowohl die Unit, als auch das Board aus der ersten Serie.

Bei der CC2 hat sich, soviel ich wei�, in den letzten Jahren im Hardwaredesign nichts geändert.
Ich betreibe selbst alte und neue Units Ich konnte keinen Unterschied zw. diesen feststellen.

> Ich habe die Jumper JP7 (RTS) und JP8 (CTS) gezogen. Seitem kann ich mit dem PC wieder Daten empfangen.

Die Jumper dürfen nicht gezogen sein !! Das Senden funzt sonst nur sporadisch.
Entweder müssen die Jumper gesetzt sein, dann mu� auch auf der PC-seite
das HW-Handshake aktiviert werden bzw. dafür gesorgt werden, da� RTS=True ist,
oder, wenn die Jumper nicht gesetzt sein sollen, mu� µC CTS mit GND verbunden sein !

> Es ist trotzdem nicht alles in Butter, da die CC2 im Hostmodus immer noch ein merkwürdiges Verhalten zeigt.
> Auf die Kommandos (z.B. cmd_send_id) erhalte ich jetzt manchmal die richtige Antwort und manchmal nicht.
> Es hilft meist den Hostmodus noch einmal einzuschalten (Reset + Host).

Beachte, daÃ? sich durch einen Bug in der IDE die Unit nach dem Laden eines Programms
auf 57.600Baud befindet ! Daher werden Kommandos die dann mit 19.200 Baud gesendet
werden nicht bzw. falsch ausgewertet.

> Auch das Programm muss ich hin und wieder 2 mal starten, bevor es richtig anläuft
> (lcd intern zeigt running, lcd extern zeigt nichts oder Unfug). Vielleicht sind das noch ein paar Anhaltspunkte?

Versuch' das OS nochmal zu Laden.

Ich hab' Dein Quellcode ein wenig optimiert. Jedoch Fehler, auÃ?er, daÃ?
bei Dir ein String übergelaufen ist, konte ich nicht finden:

//------------
   thread main
//------------
{
  int ad[6];
  string s;
  byte d,i;
  long n;

  hwcom.init();
  hwcom.setspeed(hwcom.SPEED_19200);
  lcdext.init();
  lcdext.print("Warte");
  sleep 500;

  n = 1;
  loop
  {
   if hwcom.rxd()
     {
      d = hwcom.get();
      if d==40
       {
        for i=0 ... 5 ad[i]=ports.adc(i);
        s = "";
        str.putlong(s,n);
        lcdext.clear();
        lcdext.goto(0,0);
        lcdext.print(s);

        s = "AD0= ";
        str.putint(s, ad[0]);
        lcdext.goto(0,6);
        lcdext.print(s);

        s = "AD3= ";
        str.putint(s, ad[3]);
        lcdext.goto(1,6);
        lcdext.print(s);

        s = ""; // Ab hier lief die Strinvariable u.U. über
                // Deshalb wird öfters gesendet
        str.putlong(s,n);
        hwcom.print(s);
        for i= 0 ... 5
        {
         hwcom.put(',');
         s = "";
         str.putint( s,ad[i]);
         hwcom.print(s);
        }
        n = n + 1;
        }
      if d==13
        {
         lcdext.clear();
         lcdext.print("Hostmode");
         quit 63;
        }
    }
  }
}


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: