mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega32 startet nach 10 Sekunden ungewollt neu


Autor: Stefan Friedrich (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hab ein Problem. Mein Atmega startet nach ca 10 Sekunden automatisch neu 
und ich weiss nicht woran das liegt. Der Source Code ist im Anhang, 
sowie ein kleines Video in dem zu sehen ist was passiert.

Das Programm soll nach dem Start den Text T1 auf dem Display ausgeben 
(T1 ist in menues.asm definiert) sowie die LEds an PORT B auf 10101010 
und die LEDs an Port C auf 01010101 schalten, was es auch ordnungsgemäß 
tut.

Wenn nun der Taster an PinA,0 gedrückt wird soll auf dem Display der 
Text T2 (wieder aus menues.asm) erscheinen und die LEDs sollen genau 
invertiert aufleuchten, was auch klappt, aber eben nur ca 10 Sekunden..

Dann scheint es als würder der Controller ungewollt einen Reset machen.

Kann mir jemand weiterhelfen, bzw ist das Problem bekannt `?


Pinbelegung:

A0...7 Taster
B0...7 LEDS
C0...7 LEDS
D0...7 LCD


Vielen Dank schonmal

Stefan

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänz doch da mal in den Routinen delay10ms und delay50ms die fehlenden 
ret

delay5ms:                               ; 5ms Pause
           ldi  temp1, ( XTAL * 5 / 607 ) / 1000



WGLOOP0:   ldi  temp2, $C9
WGLOOP1:   dec  temp2
           brne WGLOOP1
           dec  temp1
           brne WGLOOP0
           ret                          ; wieder zurück
delay10ms:
    rcall delay5ms
    rcall delay5ms
delay50ms:
    rcall delay10ms
    rcall delay10ms
    rcall delay10ms
    rcall delay10ms
    rcall delay10ms

 ; Initialisierung LCD 1: muss ganz am Anfang des Programms aufgerufen werden
lcd_init:
       push temp1

Autor: Stefan Friedrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohhhhhh jeh schääm

Dankeschön das scheint des Rätsels Lösung gewesen zu sein :)


Nochmals Vielen Dank :))


Stefan

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
g die einfachsten fehler sind die, die am schwersten zu finden sind.

was mich verwundert, daß das erst nach 10 sekunden crasht und nicht 
unmittelbar nach dem ersten funktionsaufruf.

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.