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

Re: Integer in LowByte und HiByte zerlegen und über hwcom senden Kategorie: Programmierung (von André H. - 19.11.2004 13:52)
Als Antwort auf Re: Integer in LowByte und HiByte zerlegen und über hwcom senden von MiGi - 19.11.2004 12:30
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Hallo Michael,

> auf den ersten Blick würde ich sagen liegt dein Problem in dem lokal deklarierten Datenfeld "Test".
> Dies muss global deklariert werden.
> Nach Beendigung der Funktion TestAblauf() ist die Variable Test nicht mehr gültig,
> aber eventuell noch nicht übertragen.

Das Stimmt so nicht ganz.
Bei hwcom.send() kann man auch lokale Arrays übertragen. Man mu� nur dafür sorgen,
daÃ? die Funktion erst beendet wird, sobald alle Daten fertig gesendet werden.
Dies erreicht man entweder durch ein wait hwcom.ready() oder, indem
man noch etwas über hwcom.ausgibt, was nicht auf ein Array angewiesen ist.
Also z.B. Einzelwerte, oder hier ein CRLF mit hwcom.ret().

> Die Variable Test liegt nämlich auf dem Stack, der bei neuen Funktionsaufrufen anderweitig verwendet wird.

Das Stimmt auch nicht. Variablen liegen nie auf dem Stack !
Auch lokale Variablen belegen ganz normal Speicherplatz im SRAM.
Nur wird dieser nach Beenden der Funktion wieder freigegeben.
Aber das hat, wie gesagt, nichts mit dem Stack zu tun.

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: Integer in LowByte und HiByte zerlegen und über hwcom senden (von Michael Gierschner - 20.11.2004 13:50)
    Re: Integer in LowByte und HiByte zerlegen und über hwcom senden (von André H. - 27.11.2004 14:33)