Ich versuche jetzt schon seit gestern Mittag das Nunchuck auszulesen, aber ich bekomme immer nur die 255 ausgegeben. Habe jetzt schon viel ausprobiert, aber immer das gleiche ergebnis. Was ich halt nicht verstehe, ist das es bei anderen mit diesem beispielscode ja zu funktionieren scheint.
Hoffe mir kann hier jemand weiter helfen
Code:$regfile = "m168def.dat" $crystal = 20000000 $baud = 9600 $lib "i2c_twi.lbx" ' Für Hardware TWI Config Scl = Portc.5 ' Ports fuer IIC-Bus Config Sda = Portc.4 Config Twi = 400000 ' Init TWBR und TWSR ' TWI gleich einschalten, das macht Bascom ansonsten erst beim I2CStart ! Twcr = &B00000100 ' nur TWEN setzen Const Nunchuck_write = &HA4 ' Slaveadresse Const Nunchuck_read = &HA5 Dim Buffer(6) As Byte Dim B As Byte Dim Tmp As Byte ' Startausgabe Print Print "I2C-TWI Demo mit Wii Nunchuck" Print Gosub Nunchuck_init Gosub Send_zero Do Buffer(1) = 0 I2creceive Nunchuck_read , Buffer(1) , 0 , 6 'Print Err For B = 1 To 6 Tmp = Buffer(b) Xor &H17 Tmp = Tmp + &H17 Print B ; ": " ; Tmp ; " "; Buffer(b) = 0 ' löschen Next B Gosub Send_zero Print Waitms 500 Loop End Nunchuck_init: I2cstart I2cwbyte Nunchuck_write I2cwbyte &H40 ' sends memory address I2cwbyte &H00 ' sends sent a zero. I2cstop Return Send_zero: I2cstart I2cwbyte Nunchuck_write I2cwbyte &H00 ' sends one byte I2cstop Return







Zitieren
Lesezeichen