Paul Hamacher wrote:
> Hab ich was falsch geschrieben? Version in voller länge könnt ihr
> meinetwegen auch haben.
Das wird wohl auch besser sein.
> Mein Programm besteht eigentlich hauptsächlich aus einer
> Interruptroutine. Das Main-Programm besteht nur aus einer
> Endlosschleife
So?
Wo ist die?
> #include <avr/io.h>
> #include <avr/interrupt.h>
> #include <stdint.h>
>
>
> volatile unsigned char timer_prescaler = 0;
>
> int main(void)
> {
> DDRA |= (1 << PA5); // Ausgänge : LED
>
> if(timer_prescaler == 100) // Nur so zum testen
> {
> PORTA |= (1 << PA5);
> }
>
> TCCR0 = (1 << CS00); // Timer0 mit
> Prescaler 1
> TIMSK = (1 << TOIE0); // Timer0
> Overflow Interrupt enabled
Ich seh nirgends einen sei().
Ich seh auch nirgends die angekündigte Endlosschleife.
> }
>
> ISR(TIMER0_OVF0_vect)
Wenn ich mich recht erinnere, heist der IST aber
TIMER0_OVF_vect und nicht TIMER0_OVF0_vect
> {
> timer_prescaler++;
> }
>
Wenn du ein Programm kürzt, was ja grundsätzlich löblich ist,
dann solltest du vor dem Posten noch mal abklären, ob das
Programm auch den Fehler zeigt, den du zeigen möchtest.
Das heist: compilieren, auf den µC brennen und noch mal
testen.
Niemand hier nimmt gerne ein Programm auseinander und listet
20 Fehler auf, nur um dann zu hören: "Im richtigen Code habe ich
die alle nicht gemacht. Andere Vorschläge`"