Forum: Mikrocontroller und Digitale Elektronik msp430fr5739 Variable wird von selber auf 0 gesetzt


von Joe (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Community,

ich hocke da an einem Problem...

Ich habe da ein Programm geschrieben welches Abtastet und die Werte über 
UART verschickt in CCS5. Alles funktioniert perfekt. Jetzt wollte ich 
das Programm abänder, habe das Projekt einfach kopiert.

Jetzt ist es so, dass ich Variable setze und sie beim Debugger verfolge.
Und die wird einfach nach einem Step wieder auf 0 oder auf irgendeinen 
Wert gesetzt. Ich bin ratlos.

Im Anhang habe ich es beim Debuggen demonstiert.
adc_wert_flag wirt auf 1 gesetzt und dann nach einem Step wieder auf 0.

Noch seltsamer ist, dass das original Programm funktioniert.

Danke.

von Coder (Gast)


Lesenswert?

- Passiert etwas im Hintergrund mit der Variable?
- Was für einen Wert hat denn zB die Variable indem einen Breakpoint in 
Z.50 setzt und das Programme bis dahin ohne unterbrechung laufen lässt?

von Joe (Gast)


Lesenswert?

Wenn ich nen Breakpoint bei Z.50 setz dann bleibt die Variable auf ihrem 
Wert, wird also nicht zurückgesetzt. Wenn ich dann ein Step mach wird 
sie zurückgesetzt...

von Coder (Gast)


Lesenswert?

wo wird denn die variable noch beschrieben?

von Joe (Gast)


Lesenswert?

Sie wird bischen weiter unten abgefragt, aber das kommt ja erst 
später...Das hat irgendwas mit dem Speicher zu tun. Ich habe das gleiche 
Programm nur mit mehr Variablen. Da wird der adc_wert_flag weiter hinten 
im Speicher angelegt bei 1D.... Da wird sie jedoch nicht zurückgesetzt.

Es ist ja nicht nur adc_wert_flag, die zurückgesetzt wird sondern auch 
alle anderen bzw. sie bekommen einen zufallswert.

von Coder (Gast)


Lesenswert?

Richtiger eingestellt Controller?
Passiert noch was in den Interrupts?
Stack zu klein dimensioniert?

von Joe (Gast)


Lesenswert?

Ich habe das Programm das läuft und funktioniert einfach kopiert und 
paar Funktionen und Variablen gelöscht. Das wars. Deswegen bin ich so 
ratlos.

von Jim M. (turboj)


Lesenswert?

Der Fehler liegt in dem Teil, den Du uns nicht zeigst. Das "ADC 
interrupt enable" legt einen entsprechenden Handler nahe.

von Joe (Gast)


Lesenswert?

Also es liegt definitiv am Speicher. Sobald die Variablen weiter oben im 
Speicher angelegt werden ist alles wieder ok.

von Coder (Gast)


Lesenswert?

Ohne weitere Infos von dir kann man nur schwer helfen.

von Joe (Gast)


Lesenswert?

Ich werden den uC austauschen. Muss ein Hardwareproblem sein.

Danke für die Mühe.

von Ferrito (Gast)


Lesenswert?

>Ich werden den uC austauschen. Muss ein Hardwareproblem sein.
Jo, da werden wohl ein paar FRAM Zellen demagnetisiert sein, ein 
altbekanntes Problem.

von Joe (Gast)


Lesenswert?

Neuer uC und das gleiche Problem hahaha ich lach mich schlapp das Teil 
macht micht fertig.

von Friend of Google (Gast)


Lesenswert?

Joe schrieb:
> Neuer uC und das gleiche Problem

Das war doch zu erwarten. Komisch, Fehler werden immer erst bei anderen 
gesucht.

Also zeige uns die beiden vollständigen Programme und der Fehler wird 
gefunden.

von Joe (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.