wahrscheinlich habe ich es überlesen aber welche Arduino-lib-, Wire-lib- und Boardfile-Versionen verwendest du in der IDE? (Du könntest auch mal versuchen dzu prüfen ob es neuere Boardfiles gibt)
edit
falsch verstanden, du meinst ja den Code vom Link!
probiere ich gleich aus!
- - - Aktualisiert - - -
getestet überall mit delay(1) auskommentiert: keine Verbesserung leider (alle Änderungen sporadisch, keine Reaktion auf Tastendruck, Poti, Bewegung)
Code:128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,508,-172,-512,1,1 -127,-128,-512,-512,-512,1,1 -127,-128,-512,144,-384,1,1 -127,-128,-512,-512,-512,1,1 -124,-128,-512,-512,-512,1,1 -127,-128,-512,-512,-512,1,1 -127,-128,511,511,511,0,0 128,127,511,511,511,0,0 -2,1,-3,-469,194,0,1 50,-69,393,-394,-9,1,1 -96,-3,-348,-8,-10,0,1 0,-118,194,215,196,0,0 99,-99,-9,403,-387,0,1 -86,-2,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,508,508,-172,1,1 -127,-128,-512,-512,-512,1,1 -127,-128,-512,-510,144,1,1 -127,-128,-512,-512,-512,1,1 -127,-125,-512,-512,-512,1,1 -127,-128,-512,-512,-512,1,1 -127,-128,-509,511,511,0,0 128,127,511,511,511,0,0 128,-3,4,-1,-470,1,1 54,49,-273,395,-395,0,1 101,-97,-9,-345,-7,0,1 2,-1,-472,195,214,0,1 -68,98,-393,-11,400,0,0 -2,-87,-5,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0 128,127,511,511,511,0,0
meine Boards sind Arduino Due (Original) mit M3 (SAM3X8E) und Adafruit Feather M4 (ATSAMD51)
- - - Aktualisiert - - -
update 2:
der Code von deinem Link
https://github.com/infusion/Fritzing...chuk/Nunchuk.h
funktioniert mit un-kommentiertem delay(1) anfangs immerhin mit meinem Mega2560 und reagiert auch auf Tasten/Poti, aber dann hängt er sich nach wenigen Sekunden komplett auf
In der Originalfassung (auskommentiertes delay(1) ) dagegen ist er immerhin auf dem Mega absolut stabil, genau wie der uxomm-Code.
Nur ergänzend nochmal:
KEINER der auf dem Mega2560 funktionierenden Codes läuft allerdings auf M3 oder M4.
Der Nunchuk ist wie gesagt das erste Gerät, das solche Probleme mit I2C macht, speziell auf den ARM Boards.
ich tippe langsam auch auf clock-stretching Probleme...
Aber ich brauche eben eine Arduino-Lösung mit den dortigen Wire() Bordmitteln.
(editiert)
Geändert von HaWe (10.04.2019 um 12:24 Uhr)
wahrscheinlich habe ich es überlesen aber welche Arduino-lib-, Wire-lib- und Boardfile-Versionen verwendest du in der IDE? (Du könntest auch mal versuchen dzu prüfen ob es neuere Boardfiles gibt)
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Arduino IDE 1.8.8, das ist ziemlich die neueste - die 1.8.9 ist noch etwas verbugged.
Adafruit M4: 1.3.0 (neueste)
Arduino Due 1.6.12 (neueste)
die jew. Wire() Libs sind immer in allen IDE-Versionen fest integriert.
(ich hatte anfangs ältere Board-Cores, aber nachdem sie da schon nicht funktionierten, habe ich ntl geupgradet)
habs mal so weitergegeben, jetzt müssen wa halt hoffen
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
edit:
danke, ceos, habe deinen issue report gefunden!
Update:
die delay(1) zu un-kommentieren hatte ja keinen Effekt, aber wenn man stattdessen die zwei delayMicroseconds un-kommentiert, dann scheint es ziemlich gut am Due und auch am M4 zu funktionieren!
danke nochmal @Ceos, das war der entscheidende Tipp mit dem Repo!
Geändert von HaWe (11.04.2019 um 14:19 Uhr)
ooookayyyy ?! O_o weniger pause und es geht besser ... mhh okay ich meine die frage irgendwo gelesen zu haben, sind das original nunchucks ? vielleicht sitzt da ein atmel drin der kein clock stretch mag XD
edit: aber im ernst ... auf die blöde idee, dass die gegenstelle keine pausen mag kommt man irgendwie auch nicht so ohne weiteres XD
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
ja, soweit ich weiß original, bin aber nicht mehr ganz sicher - wir hatten die mal in oder mit einer Wii-Box in einem Webshop für die Kiddies gekauft, aber ich meine, die Nunchuks waren schon drin.
Lesezeichen