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
Lesezeichen