www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega - ominöser zweiter Reset bei Power-on


Autor: Jens K. (candev)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bitte um Nachsicht falls das Thema hier schon erörtert wurde. Über 
die Suche habe ich vor meiner Registrierung schon einiges gefunden - das 
Entscheidende war offenbar nicht dabei.

Mein Problem:
Mein ATmega644 resettet beim Power-on zweimal, d.h. einmal korrekt wie 
ich es erwarten würde und einmal zusätzlich (und unerwünscht) nach ca. 
einer halben Sekunde. Das sieht man im u.a. Programm am Binken der LED, 
ich habe es aber auch mit dem Scope nachvollzogen: der RESET-Pin geht 
definitiv auf LOW.
Der RESET-Pin ist mit 10K  Pullup gegen VCC geschaltet. Die 
Versorgungsspannung ist stabil, ein BrownOut-Reset dürfte damit 
ausschalten.

Einzige "Besonderheit" meiner Hardware ist, dass ich den Wegfall der 
Versorgungsspannung frühzeitig erkennen will. Dazu sind AIN0/1 mit 
entsprechenden Spannungsabgriffen verdrahtet (einer direkt von +12V 
(natürlich auf 5V begrenzt), der andere mit Vcc der Schaltung (5V 
gepuffert). Die Erkennung auf Power-Down funktioniert übrigens 
einwandfrei - nur beim Hochlaufen habe ich eben ein Problem.

Zum Programm:
Ich habe den Code mal soweit runtergestrippt dass man sich hoffentlich 
nicht mehr in Nebensächsichkeiten verläuft:
// ******************************
void wdtOff(void) __attribute__ ((naked)) \
    __attribute__ ((section (".init1")));

void wdtOff(void)
{
  MCUSR &= ~(1<<WDRF);
  wdt_disable();
}


int main(void)
{
//  theApp.Run();
  
  SET_OUTPUT(LED1);  // green
  SET(LED1);
  while (1) 
    ;

  return 0;
}
// ******************************

Erläuterungen:
Die Macros SET_OUTPUT und SET setzen die Portrichtung bzw. das Portbit 
und steuern auf meinem Board damit ein LED an.
Das Ausschalten des WatchDogTimers beim Start habe ich hier über die 
Suche gefunden - das hat aber keine Veränderung gebracht.

Fuses (0xFD, 0x99, 0x77):
BODLEVEL: ist bei mir auf 2.7V eingeschaltet, aber auch bei 1.8V bzw. 
4.3V tritt das Problem unverändert auf.
WDTON ist nicht gesetzt (ich will ja keinen WatchDog)
SUT_CKSEL ist auf "FullSwingOsc., 16K CK + 65ms; CrystalOsc., slowly 
rising" gesetzt.

Ich hoffe, dass ich alle relevanten Infos abgeliefert habe. Falls nicht 
wäre ich für eine kurze Nachfrage dankbar. Dies ist mein erstes 
ATmega-Projekt...

Gruß,
Jens

Autor: Michael Buesch (mb_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist der ISP noch angeklemmt? Wenn ja, klemm den mal ab.

Ich hab auch mal nach einem komischen Reset nach 0.5 sekunden gesucht, 
und er kam vom ISP. Bis ich da mal drauf gekommen bin. Im Nachhinein 
logisch... :D

Autor: Jens K. (candev)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael!

Ich brech' zusammen!!!!

Ich habe eben meiner Frau das Problem geschildert und dabei gemerkt, 
dass ich wohl alles schon versucht habe - ausser mal ohne ISP zu 
arbeiten. Aaaarggghhh!!! Ohne ging's dann.

Und als ich jetzt meinen Beitrag hier entsprechend ergänzen wollte da 
war Deine Antwort da mit der Problemlösung.

UND ICH ID**T LABORIERE HIER SEIT EINER WOCHE AN DEM PROBLEM HERUM :-(((

Ok, erstmal ein grosses DANKE an Dich! Und nächstes Mal werde ich früher 
hier nachfragen, wenn aus dem Datenblatt keine Lösung hervorgeht - so 
viel habe ich immerhin gelernt!

Danke und Gruß,
Jens

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.