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

Re: 32 Digital-Eingänge? Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 6.09.2004 21:00)
Als Antwort auf Re: 32 Digital-Eingänge? von joe - 6.09.2004 20:29
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo joe,

> Wenn ich einen Schalter an P0  ... P7(i2c-max7311-board ) betätige, wird der Portinhalt richtig über
> die Funktion showports angezeigt und richtig über die RS232 übertragen.
> Beim Drücken bzw. Loslassen eines Schalters P8...P15(i2c-max7311-board ) wird
> der PortInhalt  RICHTIG angezeigt,
> ABER via RS232 NICHT RICHTIG übertragen, d.h. es kommt immer eine 0 (inp=0 und out=0)rüber.
> Ich verstehs nicht, was mach ich nur falsch.
> ...
>
>  byte sbuf[12];
>  int inp, new, out;
>  byte flag;
>  system.TIME time;
>
> thread main
> { // Initialisierung
> ...
>        sbuf[6]=out;
>        sbuf[8]=inp ;
>        sbuf[10]=13;
>        sbuf[11]=10;
>...


Das ist ja klar, daÃ? dies so nicht funzt. ;-)
Fällt es Dir so auf ?
Du willst out und inp, beides Integer, in sbuf[], ein Byte-Array, schreiben.
Wenn Du das aber so machst, dann werden nur jeweils die unteren 8 Bit
in sbuf[] gespeichert.
Du muÃ?t dies dann schon so schreiben:
       sbuf[6]=out;
       sbuf[7]=out shr 8;
       sbuf[8]=inp;
       sbuf[9]=inp shr 8;


Dann funzts. ;-)
Ã?brigens, bei der Jahreszahl passiert dasselbe. (sbuf[2]=system.year();)

Du könntest es aber auch so schreiben, und auf einen Datenrahmen verzichten:
  hwcom.put(system.day());
  hwcom.put(system.month());
  hwcom.putint(system.year());
  hwcom.put(time.hour);
  hwcom.put(time.minute);
  hwcom.put(time.second);
  hwcom.putint(out);
  hwcom.putint(inp);
  hwcom.ret();

Allerdings muÃ?t Du hier beachten, daÃ? integer bei hwcom.putint() mit MSB first gesendet werden !


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:

Re: 32 Digital-Eingänge? (von joe - 8.09.2004 19:27)
    Re: 32 Digital-Eingänge? (von joe - 8.09.2004 21:18)