Re: Komplexer Parameter bei Funktionsaufruf Kategorie: Programmierung (von André H. - 2.09.2006 15:26) | ||
Als Antwort auf Komplexer Parameter bei Funktionsaufruf von Thomas - 29.08.2006 0:14 | ||
| ||
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 bInput1 = (not pcf.in (data.arSwitchModule[bIndex].bInputAdr)) and (not data.arSwitchModule[bIndex].bValueButtonAndMask); kannst Du einfach auch bInput1 = pcf.in (data.arSwitchModule[bIndex].bInputAdr) nor data.arSwitchModule[bIndex].bValueButtonAndMask; schreiben. > Meine Frage ist nun: Macht es Sinn den Aufruf pcf.in (data.arSwitchModule[bIndex].bInputAdr) > besser so zu formulieren: > bHilf = data.arSwitchModule[bIndex].bInputAdr; > pcf.in(bHilf); 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. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: Komplexer Parameter bei Funktionsaufruf (von Thomas - 2.09.2006 21:06) Re: Komplexer Parameter bei Funktionsaufruf (von Guido - 11.09.2006 17:24) |