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
Gast
#5275368
Wartest du auch mindestens die 300ms nach dem Reset bevor das erste Kommando gesendet wird?
ja sind sogar wegen Display 3 sek :-) Aber danke für den tipp.
Gast
#5275405
Ich kenne mich mit dem Ardu* nicht aus, aber sind: Wire.write(11000111); wirklich bits, oder sind das 11 Millionen?
pegel schrieb: > Ich kenne mich mit dem Ardu* nicht aus, aber sind: > Wire.write(11000111); > wirklich bits, oder sind das 11 Millionen? wenn das bits sein sollen fehlt 0xb davor?
Gast
#5275428
Joachim B. schrieb: > 0xb davor Hm. 0xb..... oder 0b11000111 ?
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
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.