L298N direkt am Microkontroller (Schrittmotor)
Hallo,
lange nicht mehr hier gewesen, aber jetzt habe ich ein Problem...
Ich habe einen L298N an einem MSP430 2553 von Texas Instruments angeschlossen.
So nun zum Problem:
Vorwärts drehen lassen kein Problem, doch wenn ich die Reihenfolge im Code drehe dann dreht er sich trotzdem in die selbe Richtung:confused:
Das klappt:
Code:
void vor(int schritte){ P1OUT |= (ENA);
P1OUT |= (ENB);
P1OUT |= (LED_r);
int i=0;
for(i=0;i<schritte;i++){
P1OUT |= (BIT1);
P1OUT &= ~(BIT2);
P1OUT |= (BIT3);
P1OUT &= ~(BIT4);
__delay_cycles(100000);
P1OUT |= (BIT1);
P1OUT &= ~(BIT2);
P1OUT &= ~(BIT3);
P1OUT |= (BIT4);
__delay_cycles(100000);
P1OUT &= ~(BIT1);
P1OUT |= (BIT2);
P1OUT &= ~(BIT3);
P1OUT |= (BIT4);
__delay_cycles(100000);
P1OUT &= ~(BIT1);
P1OUT |= (BIT2);
P1OUT |= (BIT3);
P1OUT &= ~(BIT4);
__delay_cycles(100000);
}
P1OUT &= ~(ENA);
P1OUT &= ~(ENB);
P1OUT &= ~(LED_r);
}
Warum dreht er hierbei nicht Rückwärts?:
Code:
void rueck(int schritte){ P1OUT |= (ENA);
P1OUT |= (ENB);
P1OUT |= (LED_g);
int j=0;
for(j=0;j<schritte;j++){
P1OUT &= ~(BIT1);
P1OUT |= (BIT2);
P1OUT |= (BIT3);
P1OUT &= ~(BIT4);
__delay_cycles(100000);
P1OUT &= ~(BIT1);
P1OUT |= (BIT2);
P1OUT &= ~(BIT3);
P1OUT |= (BIT4);
__delay_cycles(100000);
P1OUT |= (BIT1);
P1OUT &= ~(BIT2);
P1OUT &= ~(BIT3);
P1OUT |= (BIT4);
__delay_cycles(100000);
P1OUT |= (BIT1);
P1OUT &= ~(BIT2);
P1OUT |= (BIT3);
P1OUT &= ~(BIT4);
__delay_cycles(100000);
}
P1OUT &= ~(ENA);
P1OUT &= ~(ENB);
P1OUT &= ~(LED_g);
}
Ich hoffe Ihr könnt mir helfen :rolleyes:
Gruß
Martin