Re: 32 Digital-Eingänge? Kategorie: CC2-Unit & Appl.Board / CC2-Station (von joe - 8.09.2004 21:18) | ||
Als Antwort auf Re: 32 Digital-Eingänge? von joe - 8.09.2004 19:27 | ||
| ||
Hallo, hat sich erledigt... mit hwcom.put funzt es... mfg joe > > Hallo joe, > Erst mal Dank und Anerkennung an André für die Hilfe und Bereitschaft das Forum zu pflegen. > Das mit > > sbuf[6]=out; > sbuf[7]=out shr 8; > sbuf[8]=inp; > sbuf[9]=inp shr 8 > > funzt nicht. bekomm immer noch (inp=0 und out=0). > > > mfg 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. > > | ||
Antwort schreiben Antworten: |