atmega8515 auf STK 500: Timer funtkionieren nicht

Gast #1678776
Lesenswert?

Hallo Leute,

ich hoffe ihr koennt mir helfen.

Habe auf dem STK500 einen ATMega8515 und moechte dort einen 
Timer-Interrupt nutzen.

Klappt nur leider nicht, habe mittlerweile bestimmt 20 Sources aus dem 
Internet ausprobiert (auch aus diesem Forum), aber nichts funkioniert!

Hat jemand ein Beispiel, das verifiziertermassen funktioniert? Muessen 
noch irgendwelche Einstellungen auf dem STK500 vorgenommen werden? Oder 
muessen eventuell noch bestimmte Fuses eingestellt werden?

Hoffe ihr koennt mir helfen,
MrWhite
Gast #1678779
Lesenswert?

Nachtrag:

Nutze avr-gcc in der Version 4.3 und avr-dude in Version 5.8.

Der Controller fuehrt alles, was nichts mit Timern zu tun hat ohne 
Probleme aus (nutze sonst keine Interrupts, bin Anfaenger).
Gast #1678855
Lesenswert?

Hc Zimmerer schrieb:
> Was heißt
>
>> Funktioniert aber nicht.
>
> ?  Sind die LEDs alle aus, alle an, ist eine 4er-Gruppe davon an?
>

Das LED0 blinkt, die anderen 7 sind aus.

> Was passiert, wenn Du im Programm folgende Zeile   PORTB = 0xff;
> gegen diese   PORTB = 0;
> tauschst?  Ändert sich an der Anzeige etwas?

Alle LEDs blinken.
Gast #1678871
Lesenswert?

Hier mal der exakte Compiler-Aufruf:

avr-gcc -g -Os -I/usr/lib/avr/include/ -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-ahlms=program.lst  -Wl,-Map=program.map,--cref 
-L../../lib  program.c   -o program


Habe mit Optimization-Levels hantiert. O1 oder O0 schafft aber auch 
keine Abhilfe. Das Verhalten des Programms kann ich mir einfach nicht 
erklaeren.
Gast #1679054
Lesenswert?

Neue Erkenntnis.

Wenigstens funktioniert die Hauptschleife, wenn ich den call auf

sei();

auskommentiere!

Kann es sein, dass der Chip permanent im Interrupt gefangen ist? Was 
kann das verursachen.

Anbei der Code.

Bitte helft mir, alleine komme ich vermutlich nie drauf!
Angehängte Dateien:

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