AVR Atmega8 Programm startet nur nach Reset

Gast #2365688
Lesenswert?
• ▲
▼
Hallo zusammen,

ich stehe auf dem Schlauch.

Beim Anlegen der Versorgungsspanung 12V (10µF auf 12V Seite) vor 78L05 
(100nF auf 5V Seite) startet das Programm auf dem Mega8 nicht. An jedem 
der 3 PWM Ausgänge sind LEDs angeschlossen. Deren Glimmen (das Programm 
läuft zu diesem Zeitpunkt nicht) deutet darauf hin, dass
1
  OCR1A = 0;
2
  OCR1B = 0;
3
  OCR2 = 0;  
4
  if(OCR1A == 0){TCCR1A &= ~(1<<COM1A1);}
5
  else{TCCR1A |= (1<<COM1A1);}
6
  if(OCR1B == 0){TCCR1A &= ~(1<<COM1B1);}
7
  else{TCCR1A |= (1<<COM1B1);}
8
  if(OCR2 == 0){TCCR2  &= ~((1<<WGM20) | (1<<WGM21));}
9
  else{TCCR2  |= ((1<<WGM20) | (1<<WGM21));}

alle OCRx auf Null sind, jedoch die Ausgänge nicht abgeschaltet sind.
Dieser Teil befindet sich bereits in void main(), dort kommt der Mega8 
also nicht an.

Ich habe Test durchgeführt mit 100nF zwischen GND und Reset, dann 
zusätzlich mit 10k Pullup an Reset, brachte keine Abhilfe. Nur nach 
manueller Betätigung des Reset Tasters (Reset an GND) startet und läuft 
das Programm.

16MHz externer Quarz mit 18 pF Lastkapazitäten.

Watchdog ist aus.
CKOPT ist aktiviert (also starke Pegel). Der Quarz schwingt auch, sobald 
Spannung anliegt, nur das Programm wird nicht gestartet.

SUT_CKSEL steht auf "Ext. Crystal/Resonator High Freq.; Start-up time: 
258 CK + 64 ms".

Das seltsame: Warte ich eine Weile (geschätzt 2 Minuten) nach Anlegen 
der Spannung, startet der Mega8 von selbst. Das verzögerte 
selbstständige Starten geht etwas schneller, wenn bei SUT_CKSEL z.B. 
"Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms" 
ausgewählt ist.

Das angehängte Bild zeigt die Spannung am Resetpin (gelb) und die 
Versorgungsspannung (blau). Bei dem 2V Spannungsplateau verbleibt die 
Spannung übrigens auch kurz, wenn ich die Versorgungsspannung trenne.

Im Programm habe ich am Beginn von void main() schon mit 
long_delay(1)..usw erfolglos experimentiert.

Hat jemand eine Idee, warum ich den Mega8 beim Anlegen der 
Versorgungsspannung fast jedes Mal manuelle resetten muss, damit er 
läuft?
Angehängte Dateien:

Antwort schreiben

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.

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.