hallo,
als erstes: ändere mal überall in deinem Code int um in int16_t.
Es könnte sein, dass beim Due int 32bit lang ist, im Unterschied zu AVRs
Serial.println (sizeof(int) );
gibt dir darüber Auskunft.
Die Serial class hat da auch so generell einige Macken mit der Ausgabe, wenn ich mich recht erinnere.
Falls es daran nicht gelegen hat:
Laut http://www.hotmcu.com/3-axis-gyrol3g4200d-p-171.html ist supply voltage 1.8 bis 3.6 V, da sind eher die 5V zu hoch. Die Due 3.3V müssen also passen.
I2C ist bei allen Arduinos standardmäßig 100kHz, egal welcher Prozessortakt. Laut http://www.haoyuelectronics.com/Atta...0/L3G4200D.pdf unterstützt er aber auch 400kHz, mehr macht ein Due soweit ich weiß sowieso nicht.
edit:
Der Due hat bereits eigene interne bzw. Platinen-Pullups an i2c-0 verbaut (IIRC, ca. 10k oder iwas in der Art, die Angaben waren für mich etwas verwirrend);
hast du noch weitere von dir aus dazu gebaut?
Dann könnte das der Grund sein, weshalb es nicht funktioniert.
Ansonsten hat der Due i2c-1 keine Due-eigenen Pullups, also quasi nackt, wie TWI am Nano oder Uno.
wenn das bis hier hin noch vergeblch war, muss man weiter sehen.
Lesezeichen