Mahlzeit Radbruch,

Danke für den Code - ich habe dein Programm geflasht, leider ohne Erfolg.

Mein angepasster Code:

Code:
#include <avr/io.h>         // I/O Port definitions 
//#include <avr/interrupt.h>   // Interrupt macros (für cli) 

#define servo1_port PORTB 
#define servo1_ddr  DDRB 
#define servo1_pin  PB5 
#define servo2_port PORTB 
#define servo2_ddr  DDRB 
#define servo2_pin  PB6 
#define servo3_port PORTB 
#define servo3_ddr  DDRB 
#define servo3_pin  PB7 


#define servo1_on servo1_port |= 1<<servo1_pin 
#define servo2_on servo2_port |= 1<<servo2_pin 
#define servo3_on servo3_port |= 1<<servo3_pin 
#define servo1_off servo1_port &= ~(1<<servo1_pin) 
#define servo2_off servo2_port &= ~(1<<servo2_pin) 
#define servo3_off servo3_port &= ~(1<<servo3_pin)

uint16_t i, stellzeit, dummy; 

int main(void) 
{ 
   servo1_ddr |= 1<<servo1_pin; // Pins als Ausgang definieren 
   servo2_ddr |= 1<<servo2_pin;
   servo3_ddr |= 1<<servo3_pin;
   servo1_off;                  // und auf low schalten 
   servo2_off;
   servo3_off; 
   //cli();                       // keine Störungen erlauben 
   while(1)                     // solange Saft im Akku... 
   { 
      stellzeit=100;            // 100 mal den Impuls senden 
      while(stellzeit--) 
      { 
         servo1_on;             // Impuls für erstes Servo erzeugen 
         for(i=0; i<500; i++) dummy^=i; 
         servo1_off; 

         servo2_on;             // Impuls für zweites Servo erzeugen 
         for(i=0; i<500; i++) dummy^=i; 
         servo2_off; 

        servo3_on;             // Impuls für drittes Servo erzeugen 
         for(i=0; i<500; i++) dummy^=i; 
         servo3_off; 
 
         for(i=0; i<20000; i++) dummy^=i; // Impulspause 
      } 

      stellzeit=100; 
      while(stellzeit--) 
      { 
         servo1_on; 
         for(i=0; i<2500; i++) dummy^=i; 
         servo1_off; 

         servo2_on; 
         for(i=0; i<2500; i++) dummy^=i; 
         servo2_off;
		 
         servo3_on; 
         for(i=0; i<2500; i++) dummy^=i; 
         servo2_off;  

         for(i=0; i<20000; i++) dummy^=i; 
      } 
   } 
   return(0); 
}
Das Blinkprogramm von gestern hat ja gepasst - damit müsste eigentlich auch der Prozessortakt passen, oder?