Wire e TDA7318

Salve.
Mi chiamo Maurizio. Abito a Gorizia.
Il mio hobby principale è la Radio e tutto quello che ruota intorno ad essa.
Avrei un quesito da porvi .
Sono da poco che smanetto con Arduino fino a poco tempo fa usavo
gli ST6.
Usando la libreria wine volevo comunicare via I2C con il TDA7318
controllo volume e toni che avevo già testato a suo tempo con una routine creata per l'ST6 ,questo è il codice per arduino

// I2C Digital Potentiometer
// Address TDA7318 (088h) A0 A1 A2 = bit a 0
// Volume (0a6h)
// Toni Alti (0a7h)
// Toni Bassi (0a8h)
// AudiSwitch (058h) gain 0db
// Speaker ATT LR (088h) speaker LF ATT. -10 db

#include <Wire.h>

void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
}

void loop()
{
Wire.beginTransmission(0x88); // transmit to device (0x88)
// device address is specified in datasheet modalita scrittura
Wire.send(0); // where to begin
Wire.send(0xa6); // sends byte Volume
Wire.send(0xa7); // sends byte
Wire.send(0xa8); // sends byte
Wire.send(0x58); // sends byte
Wire.send(0x88); // sends byte

Wire.endTransmission(); // stop transmitting

delay(1000);
}

Purtroppo NON funziona.
Sapete darmi una dritta ?

Mandi

ciao

l'indirizzo è probabilmente errato..

l'ottavi bit è settato che è il modo classico di dire al device che vuoi scrivere... arduino accetta l'indirizzo senza l'ottavo bit settato e poi lo modifica a seconda che sia un'operazione di scrittura o lettura

m

Grazie Massimo per avermi risposto.
L'indirizzo e 0x88.
Proverò a mettere il bit7 a 0 (0x08) e vedremo cosa succede.

TDA7318 ADDRESS
MSB first byte LSB MSB LSB MSB LSB
S 1 0 0 0 1 0 0 0 ACK DATA ACK DATA ACK P
Data Transferred (N-bytes + Acknowledge)
ACK = Acknowledge
S = Start
P = Stop
MAX CLOCK SPEED 100kbits/s

La libreria che avevo fatto per l'ST6 ero io a decidere su ero in rx o tx.

Volevo ringraziarti per questa belissima piattaforma.
Ciao e Grazie di nuovo.