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

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
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0, OSOPT V3.1
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)