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

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

Gruß
Martin