Hallo leute,

ich habe diesen Thread genau gelesen und versucht auch alles so zu machen wie du (michaelb)! Aber leider passiert bei mir gar nix!

Vielleicht noch was zu meinem Aufbau: ich hab meinem Servo an einem Mega32 und nicht am PortB sonder am PORTD.7 (Pin21)! Ich hab euch auch mal meinen Code mitgepostet, wo ich alles geändert habe wovon ich denke, dass ich es ändern muss! Ich hoffe ihr habt eine Idee warum es bei mir nicht geht!

Code:
#include <avr/io.h> 
#include <avr/signal.h> 
#include <avr/interrupt.h> 
#include <inttypes.h> 
#include <math.h> 

volatile unsigned char servowert; 
volatile unsigned char puls; 
volatile unsigned char zaehler; 

int set_servo(volatile uint8_t pos) 
   { 
   servowert = (pos/180) + 1; 
   } 
    
int main(void) 
   { 
   zaehler = 0; 
   sei(); 
   DDRD = (1<<PD7); 
   PORTD = (1<<PD7); 
   //Timer0 übernimmt die Highphase 
   //muss 1ms sein also 25 Takte bei einem Prescaler von 64 
   puls = 6; 
   TCCR0 = (1<<CS21) | (1<<CS20); 
   TCNT2 = (255-puls); 
   TIMSK = (1<<TOIE2);  
   for(;;) 
   { 
   } 
   } 
    
SIGNAL(SIG_OVERFLOW2) 
   { 
   if(zaehler == 0) 
       { 
      PORTD &= ~(0<<PD7); 
      TCNT2 = (255-puls); 
      zaehler++; 
      } 
   else if ( (zaehler > 0 ) && (zaehler < 20 ) ) 

      { 
      TCNT2 = (255-puls); 
      zaehler++; 
      } 
    else 
        { 
      TCNT2 = (255-puls); 
        zaehler = 0; 
      PORTD = (1<<PD7); 
        } 
   }
Danke für eure Antworten

Matic