Gast
#2115410
Hallo, ich muss gerade recht schnell ne kleine Demo auf nem Mega8 zum laufen bringen. Kenne mich aber mit Atmels und Programmieren allgemein nicht sonderlich gut aus. Zur Verfügung steht mir das AVR-Starterkit. Programmieren tue ich in C mit AVR-Studio-4. Aktuell habe ich ein Problem mit Timer0 und nem dazu gehörigen Interrupt. Was mache ich da falsch im Code? #include <avr/io.h> #include <avr/interrupt.h> int main (void) { cli(); //Register Ein- / Ausgänge definieren DDRD = 0xFF; //alle Ausgang DDRB = 0x03; //PB0 & PB1 Ausgang //Startzustände definieren PORTB |= (1 << PB0); //Transistor aus PORTB &= ~(1 << PB1); //Transistor ein PORTD |= (1 << PD0); //Segment aus PORTD |= (1 << PD1); //Segment aus PORTD |= (1 << PD2); //Segment aus PORTD |= (1 << PD3); //Segment aus PORTD |= (1 << PD4); //Segment aus PORTD |= (1 << PD5); //Segment aus PORTD |= (1 << PD6); //Segment aus PORTD |= (1 << PD7); //Segment aus // Timer 0 konfigurieren TCCR0 |= (1 << CS00); //Prescaler // Overflow Interrupt erlauben TIMSK |= (1 << TOIE0); // Global Interrupts aktivieren sei(); for(;;) { PORTD &= ~(1 << PD2); //Segment ein } } //Interrupt Routinen ISR(TIMER0_OVF_vect) { PORTD &= ~(1 << PD0); //Segment ein }