www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8, PORT-Pins blinken nur noch


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Wechselbalg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Oder habe ich da eine Wissenslücke?

Nein.

MfG Spess

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.