Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > 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. > > ... > > <code> > > 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; > >... </code> > > 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:<code> > sbuf[6]=out; > sbuf[7]=out shr 8; > sbuf[8]=inp; > sbuf[9]=inp shr 8;</code> > > Dann funzts. ;-) > Übrigens, bei der Jahreszahl passiert dasselbe. (<code>sbuf[2]=system.year();</code>) > > Du könntest es aber auch so schreiben, und auf einen Datenrahmen verzichten:<code> > 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();</code> > Allerdings mußt Du hier beachten, daß integer bei hwcom.putint() mit MSB first gesendet werden ! > > > MfG André H.