Atmega8, PORT-Pins blinken nur noch

Gast #1345652
Guten Tag zusammen
Bei mir ist heute beim programmieren eines Atmega8 wohl etwas schief 
gelaufen. Und zwar tritt nun folgender Effekt auf:

Wenn ich einen PORT auf HIGH schalten möchte blinkt dieser nur noch und 
bleibt nicht Konstant auf High Potential. Das blinken bewegt sich im 
Sichtbaren Bereich. Würde jetzt die Frequenz auf vl. 10-15HZ schätzen.

Der Atmega hat zuvor wunderbar funktioniert. Nur nachdem ich einmal eine 
geänderte Version eines LCD Programmes reingschrieben habe trat dieser 
Fehler auf, denn ich nun nicht beheben kann.

Meine Frage ist nun ob jmd. vl. schonmal solch ein problem hatte und es 
beheben konnte? Ich denke ja eher nicht und gehe davon aus das der uC 
sich verabschiedet hat. Nur was hat sich verabschiedet das so etwas 
passieren kann?

P.S. Er lässt sich noch ohne weiteres programmieren und reagiert auf 
externe Interrupts. Aber die Ports bleiben, wenn sie als Ausgang 
betrieben werden, nicht stabil.
Gast #1345657
Hast du beim Programmieren evtl. den WatchDog eingeschaltet?

Schau mal die Fuses an. Man denkt man braucht ihn nicht und
hat in dann in der Hardware.

avr
Gast #1345677
Keine Panik. Wahrscheinlich liegt es nur an Deinem Programm. Was 
passiert denn wenn Du ein Testprogramm aufspielst?

Zum Beispiel:

----------------------------
Alle DDR auf "Ausgang"

Loop:
    Alle Ports auf 0x00
    Warteschleife (0.5 s)
    Alle Ports auf 0xFF
    Warteschleife (0.5 s)

    rjmp Loop
----------------------------

Dann müssen alle LEDs an allen Pins mit 1 Hz Takt blinken. Tun sie das?

>Würde jetzt die Frequenz auf vl. 10-15HZ schätzen.

Vielleicht resettet sich der µC permanent gleich nach dem Start wieder? 
(Alles schon erlebt!) Die Frequenz würde dazu passen.

>Nur nachdem ich einmal eine
>geänderte Version eines LCD Programmes reingschrieben habe trat dieser
>Fehler auf, denn ich nun nicht beheben kann.

Ja - und was passiert, wenn Du die letzte funktionierende Version 
aufspielst?

>Ich denke ja eher nicht und gehe davon aus das der uC
>sich verabschiedet hat.

Ich tippe darauf, dass Dein µC hardwaremäßig völlig in Ordnung ist. Und 
ja, check mal die Fuses, das ist ein guter Tipp.
Gast #1345705
Vielen Dank. Ihr habt das Problem gefunden :) Irgendwie hat sich beim 
programmieren das Fuse Bit für denn Watchdog gesetzt und dieser ist 
somit ständig losgegangen. Daran habe ich gar net gedacht.

Noch eine kleine Frage anbei: Um solche Probleme zu verhindern wäre es 
wahrscheinlich ganz angebracht einen Bootloader zu schreiben der die 
Fusebits in gewisse Standardwerte schreibt. Muss man beim schreiben des 
Bootloaders auf etwas bestimmtes achten? Auser das man nicht gerade die 
Fuse Bits falsch setzt.
Gast #1345736
Ich schreib an den Anfang jedes Programms - auch schon während der 
Entwicklung und gerade dann - immer eine kleine Delayroutine, die so ca. 
ne halbe Sekunde verzögert und danach eine LED (irgendeine ist ja immer 
da^^) kurz einschaltet. Bei jedem Start des Programms muss also diese 
LED aufblinken. Wenn sie das nicht tut, weiß ich, dass massiv was faul 
ist.
Gast #1345739
Man kann die Fusebits zwar per Programm lesen aber nicht schreiben. Oder 
habe ich da eine Wissenslücke? Habe gerade nochmal beim 48/88/168 
geguckt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.