www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Seltsames µC Verhalten nach Unterbrechung von UB


Autor: Thomas R (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgendes Problem:
Wenn ich meinen PIC im Releasemodus programmiere und dann in MPLAB 
starte, stoppe und anschließend wieder starte verhält sich der PIC wie 
gewünscht.

Wenn ich aber die Spannungsversorgung des PICs unterbreche und 
anschließend wieder anschließe, beginnt er nicht am Anfang einer 
Switchstruktur sondern bereits bei Nr.2.

Ich habe auch schon überprüft, ob er überhaupt am Beginn des Programms 
beginnt, das tut er. Direkt vor der Switchstruktur setzte ich auch die 
Variable nochmal auf eins, aber trotzdem beginnt er bei 2.

Die Switchvariable wird durch einen Interrupt inkrementiert.

Was kann ich tun?

Danke für Eure Hilfe!


Gruß Thomas

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas R wrote:
> Wenn ich aber die Spannungsversorgung des PICs unterbreche und
> anschließend wieder anschließe, beginnt er nicht am Anfang einer
> Switchstruktur sondern bereits bei Nr.2.
>
> Ich habe auch schon überprüft, ob er überhaupt am Beginn des Programms
> beginnt, das tut er. Direkt vor der Switchstruktur setzte ich auch die
> Variable nochmal auf eins, aber trotzdem beginnt er bei 2.
>
> Die Switchvariable wird durch einen Interrupt inkrementiert.

Schön... schön...

> Was kann ich tun?

Quelltext posten?

Autor: Thomas R (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier der Quelltext!
Da er insgesamt ziemlich ausführlich ist, habe ich nur den Code bis zur 
besagten Stelle.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne jetzt den Code unter die Lupe genommen zu haben fallen mir noch was 
ein:

Wie verhält sich der Controller, wenn er im Laufenden Betrieb reseted 
wird? Zeigt er dann auch dieses Fehlverhalten, oder wird das Programm 
dann korrekt abgearbeitet?

Wenn ja: eventuell steigt die Spannungsversorgung zu langsam an, so dass 
der Controller schon mit der Abarbeitung des Programms beginnt bevor 
eine für den sicheren Betrieb ausreichende Betriebsspannung zur 
Verfügung steht. In diesem Falle wäre die Reset-Beschaltung zu 
überdenken...

Wenn nein: dann wirds allmählich interessant ;)

Autor: morph1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du den startuptimer eingeschaltet? wenn nicht, dann mach das mal.

kann sein das deine versorgung direkt nach dem einschalten noch nicht so 
wirklich sauber is und die 72ms die er dann wartet bringen dich wohl 
auch nicht um :)

Autor: ttl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es der C18 Compiler ist:

Je nach verwendetem Linker-script werden nicht alle Variablen 
initialisiert.
So nen Fehler hab ich auch mal lange gesucht bis mir der Mircochip 
Supporter das script angepasst hat.

Autor: Thomas R (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

schon mal danke für Eure Tipps!
Also: Den Powerup Timer habe ich verwendet, leider ohne Erfolg. Wenn ich 
den Controller resete, funktioniert auch alles wie gewünscht!


@ttl: weißt Du in welcher Form das Linker Script angepasst wurde? Was 
war das für ein PIC? Ich verwende den 18F452.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.