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
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.
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?
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.