Juhu!
Ich habe eine Ausgabe! Der "Fehler" war die Slave-Adresse:
(aus dem oben erwähnten wiili-wiki)The device address is "0x52" ("0xA4" in 8-bit addressing).
Nachdem ich nun die 8bit-Adresse eingetragen habe (k.A. was das bedeutet) erhalte ich Werte.Code:'Const Nunchuck_write = &H52 ' Slaveadresse 'Const Nunchuck_read = &H53 Const Nunchuck_write = &HA4 ' Slaveadresse Const Nunchuck_read = &HA5
Das Nunchuck_init habe ich aus der Schleife genommen, denn sonst würde doch send_zero am Schleifenende überschrieben werden:
Hier die Ausgabe:Code:'$regfile = "M8def.dat" ' the used chip '$crystal = 16000000 ' frequency used '$baud = 9600 $regfile = "M32def.dat" ' RP6 mit Mega32 $crystal = 8000000 ' taktet mit 8MHz $baud = 38400 ' Loader-Baud $lib "i2c_twi.lbx" ' Für Hardware TWI 'Config Scl = Portc.5 ' Ports fuer IIC-Bus 'Config Sda = Portc.4 Config Scl = Portc.0 ' Ports fuer IIC-Bus Config Sda = Portc.1 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 = &H52 ' Slaveadresse 'Const Nunchuck_read = &H53 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 ' Hier soll noch etwas rumcodiert werden: Tmp = Buffer(b) Eor &H17 Tmp = Tmp + &H17 Print B ; ": " ; Hex(tmp ) ; " "; Buffer(b) = 0 ' löschen Next B Gosub Send_zero 'Print "------" Print Waitms 500 Loop End Nunchuck_init: I2cstart I2cwbyte Nunchuck_write 'Print "Fehler beim Init: " ; Err I2cwbyte &H40 ' sends memory address I2cwbyte &H00 ' sends sent a zero. I2cstop Return Send_zero: I2cstart I2cwbyte Nunchuck_write 'Print "Fehler beim null senden: " ; Err I2cwbyte &H00 ' sends one byte I2cstop Return
Das erste Byte links/rechts Analogstick, Byte 2 ist Vor und Zurück. Am Ende werden noch die Tasten gedrückt. Das sieht doch vielversprechend aus. Ich denke, ich kann mich ans dekodieren ranmachen :)I2C-TWI Demo mit Wii Nunchuck
1: BC 2: BC 3: BC 4: BC 5: BC 6: BC
1: 88 2: 95 3: 91 4: 94 5: E8 6: 0A
1: 8A 2: 95 3: 87 4: 90 5: EA 6: F6
1: 8A 2: 95 3: 96 4: 91 5: E7 6: C2
1: 8A 2: 95 3: 87 4: 91 5: E7 6: BA
1: 6F 2: 94 3: 87 4: 92 5: F6 6: CE
1: 2A 2: 96 3: 87 4: 92 5: F6 6: 02
1: 2A 2: 96 3: 88 4: 93 5: E7 6: 6E
1: 2A 2: 96 3: 88 4: 93 5: F6 6: 2E
1: 31 2: 96 3: 88 4: 93 5: F6 6: 32
1: 4F 2: 93 3: 88 4: 93 5: E7 6: BA
1: 8B 2: 94 3: 87 4: 94 5: E7 6: 42
1: 96 2: 95 3: 88 4: 94 5: E7 6: E2
1: B1 2: 88 3: 87 4: 94 5: E7 6: AA
1: BD 2: 87 3: 87 4: 94 5: E7 6: 46
1: F6 2: 88 3: 87 4: 94 5: F6 6: 46
1: F6 2: 88 3: 96 4: 95 5: E7 6: F2
1: B3 2: 8A 3: 96 4: 95 5: E7 6: E2
1: 89 2: 95 3: 88 4: 94 5: F6 6: 6A
1: 8B 2: 94 3: 87 4: 95 5: F6 6: 6E
1: 94 2: 6E 3: 87 4: 95 5: E7 6: F2
1: 94 2: 53 3: 88 4: 95 5: F6 6: 9A
1: 95 2: 30 3: 88 4: 96 5: E7 6: CE
1: 95 2: 36 3: 88 4: 96 5: F6 6: 1A
1: 95 2: 36 3: 88 4: 96 5: E7 6: 6A
1: 93 2: 54 3: 88 4: 96 5: E7 6: F6
1: 92 2: 6C 3: 87 4: 87 5: E7 6: EE
1: 90 2: 95 3: 88 4: 87 5: E7 6: 16
1: A9 2: 97 3: 87 4: 88 5: E7 6: 32
1: B3 2: C4 3: 87 4: 88 5: E7 6: 6A
1: A9 2: EE 3: 87 4: 88 5: E7 6: 8A
1: 86 2: E9 3: 87 4: 88 5: E7 6: 5E
1: 86 2: E9 3: 87 4: 89 5: E7 6: 56
1: 79 2: C9 3: 87 4: 89 5: E7 6: 4E
1: 7A 2: A9 3: 87 4: 88 5: E7 6: 3A
1: 89 2: 94 3: 87 4: 88 5: E8 6: 8A
1: 89 2: 94 3: 87 4: 96 5: F6 6: 14
1: 89 2: 94 3: 87 4: 87 5: E7 6: C0
1: 8A 2: 94 3: 87 4: 88 5: E8 6: F0
1: 8A 2: 94 3: 87 4: 88 5: E8 6: AE
1: 8A 2: 94 3: 87 4: 87 5: E7 6: 42
1: 8A 2: 94 3: 87 4: 88 5: E7 6: 62
1: 8A 2: 94 3: 88 4: 88 5: E7 6: 47
1: 8A 2: 94 3: 87 4: 89 5: E7 6: 63
1: 8A 2: 94 3: 88 4: 89 5: E7 6: 07
1: 8B 2: 94 3: 88 4: 89 5: E7 6: A6
1: 8B 2: 94 3: 87 4: 88 5: E7 6: D2
1: 8B 2: 94 3: 96 4: 88 5: E8 6: 7E
1: 8B 2: 94 3: 89 4: 88 5: E8 6: BA
1: 8B 2: 94 3: 87 4: 87 5: E8 6: BE
1: 8B 2: 94 3: 96 4: 94 5: E7 6: 12
[RP6BOOT]
[READY]
Gruß
mic
Lesezeichen