RobbyMartin
03.10.2014, 19:01
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:
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?:
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
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:
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?:
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