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 Thomas, > > Wie sieht genau die Definition des eigenen Datentyps aus, und > wie groß ist das Array definiert ? > > Es gibt zwar ein kleines Problem mit der Parameterübergabe > von Strings aus zusammengesetzten Datentypen, aber ich denke, das hat > hiermit nichts zu tun. > > Auch ein Stackproblem kann ich ausschließen, da in einem solchen Fall > das Programm bei einem Overflow oder Underflow abbrechen würde > und eine entsprechende Meldung an der Host-LED ausgegeben wird. > > Aber noch ein paar Fragen: > Wird aus anderen Threads auf den PCF8574 zugegriffen ? > Kannst Du genau sagen, daß das Hängenbleiben beim Aufruf von pcf.in() passiert? > (ggf. temporär Debuggingausgaben in der Funktion pcf.in() am Anfang und vor dem Return einfügen.) > Da Du eine eigene Platine verwendest, benutzt Du die Ports P1H.0-.3 ? > Wenn nicht, hast Du Pull-Up-Widerstände angebracht ? > Ansonsten kann es durch Störungen zu einer Programmverlangsamung kommen. > (Es reicht oft eine Leuchtstoffröhre, oder auch Funkenbildung bei Schaltern.) > Hast Du irgendwelche rekursiven Aufrufe in Deinem Programm ? > (Funktionen, die sich selbst aufrufen) > > > Noch ein kleiner Tip für Deine Funktion: > Statt > <code>bInput1 = (not pcf.in (data.arSwitchModule[bIndex].bInputAdr)) > and (not data.arSwitchModule[bIndex].bValueButtonAndMask);</code> > kannst Du einfach auch > <code>bInput1 = pcf.in (data.arSwitchModule[bIndex].bInputAdr) > nor data.arSwitchModule[bIndex].bValueButtonAndMask;</code> > schreiben. > > > > Meine Frage ist nun: Macht es Sinn den Aufruf <code> pcf.in (data.arSwitchModule[bIndex].bInputAdr)</code> > > besser so zu formulieren: > > <code>bHilf = data.arSwitchModule[bIndex].bInputAdr; > > pcf.in(bHilf);</code> > > Prinzipiell darf es hier kein Unterschied geben. > > > Denn ein ähnliches Problem trat beim Setzen des Ports mit pcf.set auf und hier hat dies geholfen. > > Kannst Du das kurz schildern? > > MfG André H.