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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.