Zu 2.:
Code:
ISR(TIMER1_COMPA_vect){
PORTB ^= PORTB; // invertiert PORTB zB
}
void init_Timer1CompMatch(){ //zB Timer1 Compare Match initialisieren
TCCR1X = xy; // hier die entsprechenden Bit setzen wie im Datenblatt beschrieben, je nach Anwendungsfall
// und alle weiteren möglichen Register einstellen
sei();
}
void init_Ports(){} // Ports = Ausgänge usw
int main (void){
init_Ports();
init_Timer1CompMatch();
while(1){}
}
Invertieren so wie im Beispiel
10Takte/s sind 10Hz !
Du musst den Simulator separat einstellen mit 16MHz
Optimierung muss ein sein, wie Sternst sagt.
Lesezeichen