/* Title: AVR-GCC test program freqpwm1 for the STK200 eva board Purpose: small PWM generator needed Software: AVR-GCC */ #include #include #include #include #define OC1 PB3 SIGNAL(SIG_OVERFLOW1) { __outw(3000,OCR1); //setzt das Output-Compare Register mit dem Wert "oc1_value", immer beim interrupt, (OC1=1023) } //End Interrupt void ioinit(void) //Start Initialisierung { outp(BV(PWM10)|BV(PWM11)|BV(COM1A1),TCCR1A); //t/c1 = 10 bit PWM ------- outp(BV(CS10),TCCR1B); //T/C 1 läuft auf f/osc __outw_atomic(0,OCR1); //setzt den OC1Wert outp(BV(OC1),DDRB); //gibt PORTB,3 (OC1,oben definiert) als OP frei outp(BV(TOIE1),TIMSK); __outw_atomic(0,TCNT1); //Starts t/C1 at zero sei(); //enable interrupts } int main(void) { ioinit(); //aufruf der initialisations-Routine for (;;) {} }