PT2322-s ansteuerung mit I²c (arduino)

OP #5275346
Lesenswert?

Hallo
Wie genau kann ich die Funktionen ansprechen die im Datenblatt genannt 
werden?
Konkret geht es mir um zb gesamt Lautstärke.

Das starten wird ja mit:
  Wire.begin();
  Wire.beginTransmission(0x88);
  Wire.write(11000111);
  Wire.endTransmission(0x88);
  int rtnCode = audio.init();

Gemacht (hoffe ich).

Aber wie genau teile ich dem Ic jetzt die wunschwerte mit ?
Mein xxxter versuch zeigt leider immer noch keine Wirkung.

Versuch von leiser machen beispiel.

if (3 == LOW) {
    Wire.beginTransmission(0x88);
    Wire.write(0xd0 & 0x0f);
    Wire.endTransmission(0x88);
    lcd.setCursor(14, 1);
    lcd.print("+1");
  }

Wie wird der befehlt (welcher überhaupt) Richtig gesendet ?
http://labkit.ru/userfiles/file/documentation/Audioprocessor/pt2322.pdf

Die Verwirrung wird noch größer was hat es mit den G3/K3/H3 oder 
G2/K2/H2 von seite 10 des Datenblatte.

Wenn jemand mir das kurz (auf deutsch) erklären könnte wäre es super.
Vielen Dank
OP #5340515
Lesenswert?

oh habe gar nicht mehr gewusst das ich so ein post hier schon gemachte 
hatte oh...
Tut mir leid ganz vergessen.

Ich konnte das Problem so halbwegs lösen(eingrenzen)
der 2322 wird zum starten mit 0x88 angesprochen und nach den 300 ms 
warte zeit ist dieser nur noch mit 0x44 erreichbar wieso auch immer aber 
jetzt scheint es zugehen zumindest das manuelle ansprechen.
die libary arbeitet wie auch immer weiter mit 0x88) ich muss ohne 
library aber mit 0x44) werte senden.
habe mal ein test geschrieben wo bass wechselt (+14 +0 -14)

Wire.beginTransmission(0x44);
 Wire.write(0x90 | 0x08);
 Wire.endTransmission();
 delay(2000);
 Wire.beginTransmission(0x44);
 Wire.write(0x90 | 0x0F);
 Wire.endTransmission();
  delay(2000);
   Wire.beginTransmission(0x44);
 Wire.write(0x90 | 0x00);
 Wire.endTransmission();

ergibt zwar kein sinn FÜR MICH aber es geht.(verwundert)
ich hoffe das löst jetzt mein Problem dauerhaft.
Danke
#5340637
Lesenswert?

Hallo,

das IC hat die I2C-Adresse 0x44, I2C-Adressen sind 7Bit.
Die landen dann in Bit 7...Bit 1, Bit 0 entscheidet, ob gelesen (bit 0 = 
1) oder geschrieben werden soll (Bit 0 = 0).

Dein Vorgehen ist also völlig richtig, die Lib schiebt die Adresse um 
ein Bit nach links (0x88) und setzt Bit 0 auf 0 (0x88) für Schreiben 
oder auf 1 (0x89 für Lesen.

Gruß aus Berlin
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren