hallo,

ich versuche einen Schrittmotor anzusteuern, aber er macht leider nur komische Halbdrehungen, woran kann das denn liegen?

Das wichtige Teil des Codes:
Code:
#define F_CPU 8000000

#include <avr/io.h> 
#include <stdio.h>
#include <stdbool.h>
#include<util/delay.h>

uint8_t step[6] = {0xE6, 0xBC, 0xE8, 0xBA, 0xBC, 0xE8};

void rotate(direction)
{
   
   int i;
   if(direction)
	{
      
	  PORTD |= 0x80 ;//LED1 geht an
	  //PORTA = 0x82;
	  //PORTA = 0x84;
       
	   for(i=0;i<6;i++)
	  {	  
	   _delay_ms(250);
	   PORTA = step[i];
          };    
	}
   else 
    {
	  PORTD |= 0x20;//LED2 geht an
    }
}
P.S: - Die 250ms habe ich nur so da eingefügt, da ich nicht weiss, wie ich diese Zeit berechnen kann.
- ich benutze TCA3727G als Motortreiber.
Danke.