int main() {
    // Motor IO initialisieren
    motpwm_init();

    // Fühler IO initialisieren
    sens_init();

    // Diese while-Schleife ist identisch mit der aus dem Programm „motoren.c“
    // Jedoch kann man leicht veränderte Geschwindigkeitswerte feststellen
    while (1 == 1) {
        // Interrupts für Motor-Funktionen aktivieren
        enable_interrupts();
        int16_t speed_l = 0;
        int16_t speed_r = 0;

        // Linke Motorgeschwindigkeit abhängig vom Status des linken Fühlers setzen
        switch (sens_getLeft()) {
            case  1: speed_l =  750; break;
            case  0: speed_l =    0; break;
            case -1: speed_l = -300; break;
        }

        // Rechte Motorgeschwindigkeit abhängig vom Status des rechten Fühlers setzen
        switch (sens_getRight()) {
            case  1: speed_r =  750; break;
            case  0: speed_r =    0; break;
            case -1: speed_r = -300; break;
        }

        // PWM-Werte für die Motoren setzen
        motpwm_setLeft(speed_l);
        motpwm_setRight(speed_r);
    }
    return 0;
}
int main() {
    // Motor IO initialisieren
    motpwm_init();

    // Fühler IO initialisieren
    sens_init();

    // Dieses Mal ist die Geschwindigkeitslogik umgekehrt
    while (1 == 1) {
        // Interrupts für Motor-Funktionen aktivieren
        enable_interrupts();
        int16_t speed_l = 0;
        int16_t speed_r = 0;

        // Linke Motorgeschwindigkeit abhängig vom Status des linken Fühlers setzen
        switch (sens_getLeft()) {
            case  1: speed_l = -500; break;
            case  0: speed_l =    0; break;
            case -1: speed_l =  500; break;
        }

        // Rechte Motorgeschwindigkeit abhängig vom Status des rechten Fühlers setzen
        switch (sens_getRight()) {
            case  1: speed_r = -500; break;
            case  0: speed_r =    0; break;
            case -1: speed_r =  500; break;
        }

        // PWM-Werte für die Motoren setzen
        motpwm_setLeft(speed_r);
        motpwm_setRight(speed_l);
    }
    return 0;
}
Beispiel #3
0
// initialize the ctbot hardware
void native_nibobee_clock_init(void) {
  motpwm_init();
}