ATMEGA88/168 - timer1 OVF bringt reset

Gast #1663734
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...
Angehängte Dateien:
Gast #1664627
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?
Gast #1665001
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.
Gast #1665031
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.

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