Gast
#2450333
Hallo,
ich darf mich nun mit Mikrocontroller und deren Programmierung
auseinandersetzen und arbeite die Beispiele hier auf der Seite durch.
Leider komme ich im Moment nicht weiter. Ich muss dazu sagen, dass ich
keinerlei Programmier-Kenntnisse habe, bzw. gehabt habe.
Ich arbeite mit dem Atmega8. Hier der Code:
#include <avr/io.h>
#include <avr/interrupt.h>
volatile unsigned char blinkmerker=0;
ISR(TIMER1_OVF_vect)
{
if(blinkmerker)
blinkmerker=0;
else
blinkmerker=1;
TCNT1 = 65536-488;
}
void initial(void)
{
DDRD = 0b00001000;
TCCR1B = (1<<CS10)|(1<<CS12);
TIMSK = (1<<TOIE1);
TCNT1 = 65536-488;
sei();
}
int main(void)
{
initial();
while(1)
{
if (blinkmerker)
PORTD &=~ (1<<PD3) ;
else
PORTD |= (1<<PD3) ;
}
return 0;
}
Den großen Teil konnte ich nachvollziehen. Leider hapert es beim toggeln
des Pins. Wie hängen die if-else Anweisung in der IS-Routine und das
toggeln in der while_Schleife zusammen?