Forum: Mikrocontroller und Digitale Elektronik atmega32: Timer-Problem


von giga (Gast)


Lesenswert?

hallo,

erstmal möchte ich darauf hinweisen, dass ich anfänger bin!
ich habe das problem, dass meine 
timer-overflow-interrupt-service-routine nicht ausgeführt wird.

zusätzl. info:
LED an PORT D5 funktioniert (habe ich mit anderem code getestet)
ATMEGA32 läuft mit quarz auf 16 MHz (habe fuses richtig gesetzt --> auch 
schon getestet)

problem: LED an PORT D5 bleibt komplett dunkel. habe es auch schon mit 
einem anderen vorteiler probiert (1 << CS02) | (1 << CS00)
habe auch schon versucht im isr einfach nur die LED einzuschalten mit 
PORTD = (1 << PD5); funktioniert auch nicht --> wenn ich diesen befehl 
in die while(1) {} - Schleife schreibe, leuchtet die LED.
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
4
void init_timer() 
5
{
6
  TCCR0 = (1 << CS01);
7
  TIMSK |= (1 << TOIE0);
8
  
9
  sei();
10
}
11
12
ISR (TIMER0_OVF_vect)
13
{
14
  PORTD ^= (1 << PD5);  
15
}
16
17
int main(void)
18
{
19
  DDRD = 0xff;
20
  init_timer();
21
  
22
  while(1)
23
    {
24
    // do something        
25
    }
26
}

Bitte helft mir --> bin verzweifelt

von holger (Gast)


Lesenswert?

Dein Code funktioniert bei mir.

von Julian B. (julinho)


Lesenswert?

sei();

von Helfer (Gast)


Lesenswert?

HEX-File in den Debugger des AVR Studio laden und im Einzelschritt 
abarbeiten. Nicht die Geduld verlieren. Irgendwann zeigt der Bug seine 
hässliche Fratze :-)

von holger (Gast)


Lesenswert?

>HEX-File in den Debugger des AVR Studio laden und im Einzelschritt
>abarbeiten. Nicht die Geduld verlieren. Irgendwann zeigt der Bug seine
>hässliche Fratze :-)

Da ist kein Bug. Es funktioniert.

Er hat entweder das Programm nicht für einen ATMega32
übersetzt oder das falsche HEX File programmiert.

von Helfer (Gast)


Lesenswert?

Deswegen das genau das gebrannte Hex-File untersuchen. Eventuell sogar 
das Hexfile aus dem problematischen AVR zurück auf die Platte lesen.

von holger (Gast)


Lesenswert?

>Deswegen das genau das gebrannte Hex-File untersuchen. Eventuell sogar
>das Hexfile aus dem problematischen AVR zurück auf die Platte lesen.

Blabla.

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.