Hi everyone
Im setting up an Arduino Due as external controller for my Buffalo-IIIsePro38 and I cannot get the i2c working.
Using the Wire library example scanner, I find a single device at address 0x20. I expected to find 0x48 or 0x90.
Turning off the BIII board results in no devices found so I know it is finding something on the BIII.
Writing directly to address 0x48 just gives result code 2 - NACK.
What am I doing wrong here?
Im setting up an Arduino Due as external controller for my Buffalo-IIIsePro38 and I cannot get the i2c working.
Using the Wire library example scanner, I find a single device at address 0x20. I expected to find 0x48 or 0x90.
Turning off the BIII board results in no devices found so I know it is finding something on the BIII.
Writing directly to address 0x48 just gives result code 2 - NACK.
Code:
Wire.beginTransmission(DAC_ADDR);
Wire.write(7);
Wire.write(0);
byte res = Wire.endTransmission();
Serial.println(res);
As an experiment I hooked up my OLD BuffaloIIIse (es9018) the exact same way and ran the i2c scanner. It found devices at 0x20, 0x48.
I have tried different variations of the RESET pin:
- permanently low
- pulling high for a second
- permanently high
... and everything inbetween.
Completely stuck.
I have tried different variations of the RESET pin:
- permanently low
- pulling high for a second
- permanently high
... and everything inbetween.
Completely stuck.
Last edited:
Code:
I use the linux commands 'i2cdetect' and 'i2cdump' to detect the DAC and read it's register contents. You will want to check the needed bus number, etc.
For an RPi or BBB:
Code:
root@DietPi:/# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Code:
root@DietPi:/# i2cdump -y 1 0x48
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 0c 3c 00 00 68 4a 60 88 88 00 00 1a 20 8a 0f .?<..hJ`??..? ??
10: 00 00 00 00 00 00 00 00 ff ff ff 7f 00 00 00 00 ...........Q....
20: 00 00 00 00 00 00 10 32 54 76 00 00 00 00 00 e0 ......?2Tv.....?
30: 03 00 04 00 04 00 f0 00 00 ff ff ff ff 4f 00 06 ?.?.?.?......O.?
40: a1 07 ff ff 7f 00 00 00 00 00 00 00 00 00 00 00 ??..?...........
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 ...............5
60: c7 fc f4 00 02 36 36 36 36 36 36 36 36 00 00 00 ???.?66666666...
70: 80 00 00 80 XX XX XX XX XX XX XX XX XX XX XX XX ?..?XXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
c0: a1 07 01 00 80 00 00 00 00 00 00 00 00 00 00 00 ???.?...........
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 ...............%
e0: ef 6f 84 00 02 78 70 78 70 78 70 78 70 00 00 00 ?o?.?xpxpxpxp...
f0: 80 00 00 80 XX X
Last edited: