Cześć,
Złożyłem układ według schematu
Za nic jednak nie mogę zmusić ich do poprawnej komunikacji. Kod Atmega8 (TWI Master):
Z tego co wiem to jeśli będę nadawał na adres 0x00 (najmłodszy bit - bit zapisu) to nadaje do wszystkich te same dane. Zatem dane powinien odbierać LM1972. Pierwsze 8 bitów to adres komórki pamięci (wybór kanału - prawy/lewy) a kolejne 8 bitów to wartość którą chcę zapisać do tej komórki (poziom głośności na danym kanale). W teorii wydaje się to być proste itp. lecz pomimo tego nie mogę zmusić urządzeń do poprawnej komunikacji. Raz na kilkadziesiąt wysłanych różnych kombinacji adresów i poziomów ustawi się jakiś tam poziom głośności, niekoniecznie ten wysyłany. Działa to super niestabilnie. Męczę się z tym już drugi tydzień i wciąż nic. Doradźcie proszę co może być nie tak. Może z kodem jest coś źle. Mam wątpliwości co do samego pull-up'u, a mianowicie czy wystarczy programowe jego zrobienie czy musi to być połączenie fizyczne? Sprawdzając miernikiem jest napięcie ok 5V na obu wyjściach.
Złożyłem układ według schematu
Za nic jednak nie mogę zmusić ich do poprawnej komunikacji. Kod Atmega8 (TWI Master):
Kod: C / C++
Z tego co wiem to jeśli będę nadawał na adres 0x00 (najmłodszy bit - bit zapisu) to nadaje do wszystkich te same dane. Zatem dane powinien odbierać LM1972. Pierwsze 8 bitów to adres komórki pamięci (wybór kanału - prawy/lewy) a kolejne 8 bitów to wartość którą chcę zapisać do tej komórki (poziom głośności na danym kanale). W teorii wydaje się to być proste itp. lecz pomimo tego nie mogę zmusić urządzeń do poprawnej komunikacji. Raz na kilkadziesiąt wysłanych różnych kombinacji adresów i poziomów ustawi się jakiś tam poziom głośności, niekoniecznie ten wysyłany. Działa to super niestabilnie. Męczę się z tym już drugi tydzień i wciąż nic. Doradźcie proszę co może być nie tak. Może z kodem jest coś źle. Mam wątpliwości co do samego pull-up'u, a mianowicie czy wystarczy programowe jego zrobienie czy musi to być połączenie fizyczne? Sprawdzając miernikiem jest napięcie ok 5V na obu wyjściach.