mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µC versteht Programm nicht mehr nach Spg.ausfall


Autor: Philipp Mayr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen ATMega128 und programmiere mit CodeVision AVR.
Ich programmiere in C.
Zuerst sage ich "compile the project" dann "make the project". Dann
gehe ich auf "run the chip programmer" und sage "program flash".

Mein Programm funktioniert dann auch einwandfrei am µC. Nur wenn der
Mikrocontroller für ca. 1/2 Tag nicht mit Strom versorgt wird, dann
funktioniert das Programm nicht mehr.
WEnn ich sage program flash müsste es ja doch im
nichtflüchtigen-Flash-Speicher liegen und darf bei Spg.ausfall nicht
verloren gehen.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu 99,99% liegt der Fehler in deinem Programm (z.B. nichtinitialisierte
Variable usw.).

Autor: Philipp Mayr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja aber wenn ichs neu hinüberlade geht es wieder einwandfrei

Autor: Philipp Mayr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es was anderes als Nichtinitialisierte Variable auch sein?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach mal ein Verify, wenn es nicht mehr läuft.

Und wenn da Bytes gekippt sind, setze die Brown-Out Fuse.


Peter

Autor: Philipp Mayr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mach immer ein Verify beim Programmieren.

Nach einem Spg.ausfall kommt immer eine Fehlermeldung zurück, dass eine
Speicherstelle einen Fehler aufweist.
Naja dann lösche ich den Chip komplett und beschreibe ihn neu und dann
gehts wieder.

Ich checks überhaupt nicht mehr.

Was bringt die Brown-Out Fuse?

Autor: Philipp Mayr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BrownOut Fuse ist ja so wit ich weiß dazu nötig, dass der µC nicht mit
falschen Werten weiterläuft wenn die Spg. nur kurz einbricht.
Dafür hab ich aber einen ResetIC: TL7705ACD

Autor: Cheffe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm doch einen anderen ATMEGA128 und schau ob es da genauso ist. Wenn
nicht, ist der erste halt defekt. Sowas soll ja hin und wieder
vorkommen!

mfg
Cheffe

Autor: Philipp Mayr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab es schon mit 2 ATMega128 getestet. Bei beiden das gleiche! Also
Defekt kann ich ausschließen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der interne Power-On-Reset ist Quatsch und funktioniert nur dann, wenn
VCC von <0,5V schnell (<10ms) auf 5V ansteigt.

Und wenn die CPU nicht resettet wird, kann sie verrückt spielen (z.B.
ein SPM ausführen).

Ich hab mal die Resetbits auf LEDs ausgegeben und schnell ein- und
ausgeschaltet: Brown-Out kam immer, Power-On nur zu etwa 60%.

Entweder Brown-Out an oder nen Reset-Chip anschließen.
Alles andere ist unzuverlässig.


Peter

P.S.:
Spannung von außen, bevor VCC anliegt, mögen die AVRs auch nicht.

Ich hatte mal ne Spar-RS232 gemacht, wenn ich den PC zuerst
angestöpselt hatte, bevor ich VCC einschaltete war alle 10-mal der
komplette Flash gelöscht.

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.