der Code oben von mir läuft ja nachweislich mit meinem AVR, nur nicht mit meinen ARMs M3/M4.
der Code oben von mir läuft ja nachweislich mit meinem AVR, nur nicht mit meinen ARMs M3/M4.
Hast Du die Pullups mal auf 1K gesetzt. Ich benutze generell 1K bei 400 KHz.
das ist aber sehr weit außerhalb vom Standard, zumal der Due schon eingebaute Pullups hat (nur mit denen allein geht es aber auch nicht). Aber ich kann 2k2 mal am Due probieren - Momentchen...
- - - Aktualisiert - - -
update:
auch kein Unterschied
Ich denke, das einzige was hilft ist, wenn hier jemand , der selber die Hardware hat, es bei sich selber testet.
Geändert von HaWe (08.04.2019 um 16:37 Uhr)
Ich sehe grad, Klebwax erwähnte schon:
Das war auch meine Vermutung gewesen."Wenn ich mich recht erinnere, ist der Nunchuk pingelig, wenn das letzte Byte nicht mit NAK quittiert wird. Er bleibt dann hängen und blockiert den Bus."
Wie das bei deinem Code genau abläuft lässt sich schlecht nachvollziehen, das kommt ja aus einer Bibliothek.
Bleibt wohl wirklich nur jemand übrig, der es schon lauffähig geschaft hat.
Ein Versuch war es wert.
Siro
ja klar, danke, die 2 Widerstände zu wechseln war ja kein Aufwand
Mit I2C Steuer-Code kenne ich mich allerdings überhaupt nicht aus.
Ich hab hier auch noch etwas gefunden.
https://oscarliang.com/wii-nunchuck-arduino-tutorial/
Nach jedem kompletten Empfang ruft er anscheinend diese Funktion auf,
sonst funktioniert die Synchronisation wohl nicht.
Das spricht irgendwie dafür, dass der nunchuck sich "verheddert"Code:void NunC_SendNextByteRequest() { // I don't know why, but it only works correct when doing this exactly 3 times // otherwise only each 3rd call reads data from the controller (cnt will be 0 the other times) for(byte i = 0; i < 3; i++) { Wire.beginTransmission (WII_NUNCHUCK_TWI_ADR); // transmit to device 0x52 Wire.send (0x00); // sends one byte Wire.endTransmission (); // stop transmitting } }
Siro
Geändert von Siro (08.04.2019 um 17:32 Uhr)
was soll ich davon wann und wo aufrufen, bzw. wie sieht dann mein neuer Komplett-Code aus?
der Autor bezieht sich allerdings auch auf AVRs, und mit AVRs klappt es ja bei mir mit dem obigen Code von uxomm - nur nicht mit ARMs...![]()
Lesezeichen