Hallo

Das Drehrichtungsproblem wird tatsächlich vom Ansteuerungs-IC der H-Brücke verursacht. Deshalb sieht meine Motorsteuerung (ohne PWM) so aus:
Code:
#define DIR_R 7
#define DIR_L 6
#define PWM_L 5
#define PWM_R 4

void motorDir(uint8_t dir_left, uint8_t dir_right)
{
	if(dir_left)  PORTD |= (1<<DIR_L); else PORTD &= ~(1<<DIR_L);
	if(dir_right) PORTD &= ~(1<<DIR_R); else PORTD |= (1<<DIR_R);
}

void motorSpeed(uint8_t speed_left, uint8_t speed_right)
{
	if(speed_left)  PORTD &= ~(1<<PWM_L); else PORTD |= (1<<PWM_L);
	if(speed_right) PORTD &= ~(1<<PWM_R); else PORTD |= (1<<PWM_R);
}
Gruß

mic