mikrocontroller.net

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


Autor: starterbug (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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...

Autor: starterbug (Gast)
Datum:

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

Autor: Tom M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: starterbug (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: starterbug (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.