Forum: Mikrocontroller und Digitale Elektronik Pic, struct und Interrupt


von Milchknilch (Gast)


Lesenswert?

Hallo hab ein (von mir) nicht nachvollziehbares Problem mit dem Pic
18F458. Ich habe in einer externen Datei mehrere Funktionen, die auf
ein dort als statisch definiertes struct zugreifen. Nun habe ich das
problem, das (vermutung: während eines Interrupt) die Daten in diesem
struct mit willkürlichen Werten überschrieben werden.

Als compiler verwende ich den mcc18.

Bin für jeden Vorschlag dankbar.

von peter dannegger (Gast)


Lesenswert?

Wenn Du eine Vermutung hast, dann überprüfe sie.

Mehr kann man ohne den Sourcecode nicht dazu sagen.


Peter

von Milchknilch (Gast)


Lesenswert?

Ja das versuch ich ja schon die ganze Zeit...

Aber wie bitte stell ich fest wann ein Variable geändert wurde

Ich weiss das der Fehler auftritt nachdem ich im sleep war und ein
interrupt ausgelöst wurde.

Mein Interrupt einsrpung sieht folgendermaßen aus.

#pragma interrupt ISRHigh save= PROD, section(".tmpdata"),
TBLPTR,TABLAT, PCLATH, PCLATU
    void ISRHigh(void)
    {

von Thorsten (Gast)


Lesenswert?

Gib deinen struct doch vor dem Interrupt aus (z. B. über RS232) und eben
dannach. Dann siehst du doch, was der Interrupt damit anstellt.

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.