MC startet immer wieder neu.

Gast #791536
Lesenswert?

Servus...ich bins nochmal,

langsam frag ich mich ob ich blöd bin.
Und zwar bootet mein Controller etwa alle 4 Sekunden neu. Seh ich 
eindeutig am Display.

Reset liegt aber auf seinen 5 Volt. Genauso wie der Rest (Da wos halt in 
sollte)

Es ist zwar am Oszi ein kleinerer Brumm zu sehen, aber der ist unter 
20mV.

Reset ist zwischen 10k R und einem 10µ Farad Kondi.

Kennt einer von euch das Problem?
Denn auf meinen anderen Controllern und Platinen hatte ich das Problem 
nicht.

Hautpprogramm läuft in einer

While(1) Schleife...wie immer bisher.
For(;;) hatte auch keine Wirkung.

MfG
Matthias
Gast #791574
Lesenswert?

Also ich programmier alles mit AVR Studio.

Die Einstellungen der Fuses sind:
Lockbits stehn auf "no lock Features"
SPI Enable und Full amplitudes haben ein Häckchen.
BOOTRST EESAVE OCD Enable JTAG Enable ohne Häckchen.

Ext XTAL High Frequ.
Startup 64ms + 1k CK
Boot block 1024 Word

BOD Enable 4,0 V

das hab ich grad mal auf
"No BOD function" gestellt und er startet noch schneller neu.

Langsam bin ich am Verzweifeln.

Meines Wissens heisst das ich jedenfalls nirgends was mit der WDTON- 
Fuse zu tun hatte.
Gast #791588
Lesenswert?

Tjo ich kann dir nur das sagen was mit AVR Studio rausspuckt.

Hab auch meinen 2ten C-Compiler angeschmissen...und da steht auch nix 
vom dem WDTON- Fuse
Ich kann dir höchstens noch die Fusebytes geben.
Low Fuse = 11001111
High Fuse = 11001001
Lockbits = 11111111

MfG
Gast #791667
Lesenswert?

Tjo...

Ich hab jetzt der Reihe nach den Code zurückgebaut...

Die Reseterrei geht los sobald ich den Timer1 für den IC Pin dazuschalt.

Ohne diesen Timer gehts ohne irgendwelche Resets.

Config...
1
//--Einstellungen für Drehzahlmessung
2
DDRD = (DDRD & 0xFD);  //--ICP Freischalten
3
TCCR1B =  (1<<ICES1)  | (1<<CS12) | (1<<CS10); // Input Capture Edge, PreScale 1024 (ICP)
4

5
//--Timer0 für Display Aktualisierung
6
TCCR0 = (1<<CS02) | (1<<CS00);   //--1024 Vorteiler
7
  
8
//--Timer Starten
9
TIMSK = (1<<TOIE0) | (1<<TICIE1) | (1<<OCIE1A);

Kann mir einer von Euch das erklären?
#791699
Lesenswert?

fehlt vielleicht irgendwo ein Rücksprungbefehl nach nach einer 
Interruptroutine z.B. reti

Ich denke das sich dein Programm verrennt aber jetzt sagst du auf dem 
einen Board gehts auf dem anderen nicht oder hattest du zwischenzeitlich 
die Timerfunktion ausgeschalten.

Simuliere im Studio mal ob auch die richtige Interruptroutine 
angesprungen wird nicht das du da was in der Reichenfolge verdreht hast. 
Hast du den Interruptvektor komplett aufgefüllt also alle nicht 
verwendeten Interrups mit reti beendet falls da doch mal was 
angesprungen wird, wenn du einen Interrupt aktiviert hast den du 
garnicht benötigst.
Gast #791739
Lesenswert?

Hallo,

willkommen im Club. Mein Mega16 prodiziert auch zyklische 
Watchdog-Reset's ohne sichtbaren Grund. Schalte den Mist aus und der 
Controller läuft.
Leider konnte bisher keiner der Forum-Experten helfen oder wenigstens 
ein vernünftiges Statement abliefern :-(

Bj

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren