-
-
Neuer Benutzer
Öfters hier
wii motion plus
hallo,
ich habe jetzt eine wii motion plus und einen uC der I2C spricht.
dank http://wiibrew.org/wiki/Wiimote/Exte...Motion_Plus.29 weiß ich jetzt auch das protokoll
Die Beschleunigung wird allerdings in (grad/sekunde)/20 angegeben.
jetzt müsste ich aber genau jede sekunde einmal nachfragen, wie groß die beschleunigung ist.
da der uC aber auch mit anderen bauteilen per I2C kommuniziert braucht er natürlich auch zeit dafür.
mit delay 1000 aber wüde ich sicher noch ein paar ms mehr warten weil die kommunikation über I2C ja auch zeit braucht.
Weiß jemand von euch wie lange das ungefähr dauert und ob ich einfach nur 998ms warten soll oder die zeit vernachlässigbar ist(4Mhz Quarz)?
Peter
-
Erfahrener Benutzer
Roboter Genie
Hallo,
frag den sensor einfach in einer timer isr die du auf eine sekunde stellst ab.
gruß,
Bammel
-
Erfahrener Benutzer
Robotik Einstein
Ich würd im Timer eher nur ein Flag setzen und in der Main bei gesetztem Flag dann abfragen.
Wenn die Kommunikation mal länger dauert, die ISR deshalb blockiert wird und der Timer nochmal auslöst, obwohl er schon läuft,... kann dann ein lustiges Verhalten des AVR hervorrufen.
Dann sinds zwar nicht immer exakt 1000,000ms, aber so grobe Hausnummer stimmt schon. Und wenn grad ne andere Kommunikation über I2C läuft, würde die sonst durch den Timer unterbrochen werden. Wie der Bus da drauf reagiert: Noch nie probiert.
-
Neuer Benutzer
Öfters hier
Mein Microcontroller ist weder interrupt fähig, noch hat er einen timer.
Peter
-
Erfahrener Benutzer
Robotik Einstein
Was soll das denn für ein Controller sein?
-
Neuer Benutzer
Öfters hier
-
Erfahrener Benutzer
Roboter Genie
das teil kann doch interrupts ausführen und timer verwenden. alleine für den I²C werden doch interruptzs ausgeführt
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen