I²C müsste theoretisch - in Verbindung mit Willas Code - ohne gegenseitige Beeinflussung in der Lage sein, sowohl die IMU-Daten auszulesen (beim MPU-6050) als auch die ESC-Werte auszugeben.
William hat seinen Code als zyklische Schleife aufgebaut, wo der Reihe nach alle Subroutines aufgerufen werden.
Die IMU-Werte werden beim sNQ per I²C ausgelesen, das klappt problemlos. Die Schleifenzykluszeit habe ich nicht gemessen, aber die Steuerung "fühlt" sich nicht verzögert an.
Als nächstes werden im Programmablauf die IMU-Werte mit den Eingangsdaten der Fernsteurung verknubbelt, dann die Werte für die Motoren ausgegeben. Beim sNQ funktioniert das über die PWM-Register des AtMega328p, für euch wären das Aufrufe an I²Cout().
Wenn die fertig sind, kommt irgendwann wieder das Einlesen der IMU-Werte dran... stört sich also überhaupt nicht.
Lesezeichen