Forum: Compiler & IDEs ATMEGA88/168 - timer1 OVF bringt reset


von starterbug (Gast)


Angehängte Dateien:

Lesenswert?

Hy µC cracks,

habe eine kurze frage zu meinem C-code..

verwende: ATMega168, 8Mhz,an STK500 (AVR-studio)

mein programm macht bei/nach timer1 überlauf
anscheinend einen reset..--> gelangt immer wieder in
µCInit()  //--> lauflicht beim starten

sollte jedoch nach tastendruck
--> external interrupt auslösen,
--> variable erhöhen, und dann
--> in der main() in die if schleife springen --> alle leds ein

vielleicht habt jemand paar tipps, bzw problemlösung.

schaut euch den code bitte mal an

PS: Tastenprellen sollte nicht das problem sein, verwende
zum testen funktionsgenerator, bzw in späterer folge auch "sauberes" 
rechtecksignal...

von starterbug (Gast)


Lesenswert?

hy leute wär echt toll wenn ihr mir helfen könntet,
danke.

von Tom M. (Gast)


Lesenswert?

Ausser der Fummelei mit SREG (wozu???) seh ich nix Auffälliges in deinem 
Code. Vermute ein Problem mit der HW...

Wie hast du denn die LEDs angeschlossen? Wieviel Strom fliesst da, wenn 
alle LEDs an gehen? Wenn ich richtig sehe, ist der AVR die Senke 
(Kathode liegt am Port an). Hast du die Specs geprüft?

von Stefan E. (sternst)


Lesenswert?

Zusätzlich zur Hardware gibt es zwei weitere Möglichkeiten für 
"Soft-Reset bei Interrupt, obwohl ISR mit richtigem Namen vorhanden":

1) Code wurde nicht für den richtigen Controller compiliert/gelinkt.

2) ELF-Datei in den Controller programmiert.

von starterbug (Gast)


Lesenswert?

Stefan Ernst schrieb:
> 1) Code wurde nicht für den richtigen Controller compiliert/gelinkt.

super danke, hab eine kleinigkeit übersehen..
hab controller gewechselt von 88 --> 168, dabei nur im
Programmierwindow, nicht aber im project umgestellt,

funktioniert jetzt wie gewollt, vielen, vielen Dank.

von starterbug (Gast)


Lesenswert?

Tom M. schrieb:
> SREG (wozu???)

ja hab da ein fertiges codeelemnt verwendet, das wahrscheinlich
noch abgespeckt wird.

bezüglich LEDSTROM:

datasheet:
Although each I/O port can sink more than the test conditions (20 mA at 
VCC = 5V, 10 mA at VCC = 3V) under steady state
conditions (non-transient), the following must be observed:
ATmega48A/48PA/88A/88PA/168A/168PA/328/328P:
1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 
100 mA.

geht sich mit 15mA/LED aus..

Danke trotzdem für den Input.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.