Also so irgendwie wills immer noch nicht funktionieren...

  • Ich kann mit dem Raspberry Pi den Status von INT1 abfragen (mit Spannungsteiler von 5V auf 3V3)
  • Wenn ich z.B. einen Bumper drücke und somit INT1 auslöse kann ich INT1 auch folgendermaßen wieder löschen:

Code:
int main()
{
    rp6rpi_init();
    rp6rpi_openConnection();
    rp6rpi_task_RP6RPISystem();        // Read all Registers
    rp6rpi_closeConnection();
    return 0;
}
  • Wenn ich den Rp6_Move-Befehl mit dem im ersten Beitrag gezeigten Code ausführe wird wie zu erwarten INT1 ausgelöst und der Move-Vorgang abgebrochen.



Jetzt hab ich den Code so umgeändert, dass immer wenn INT1 ausgelöst wird, die Register gelesen werden:
Code:
int main()
{
    rp6rpi_init();
    rp6rpi_openConnection();
    rp6rpi_move(60, FWD, 300);
    while(1)
    {
        if(rp6rpi_return_INT1())
            rp6rpi_task_RP6RPISystem();        // Read Registers
    }
    rp6rpi_closeConnection();
    return 0;
}
Wenn ich an INT1 messe bekomme ich 0V, d.h. der Interrupt wird auch zurückgesetzt.

Trotzdem bewegt sich der RP6 nur ein ganz kleines Stück vorwärts. WARUM? Was fehlt?


Viele Grüße
-schumi-