Показать сообщение отдельно
Старый 28.09.2016, 11:11   #6
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 39
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от yuriy m Посмотреть сообщение
Вот теперь я вспомнил,ардуиновская библиотека "су**"в адресе rw 8й бит подставляет сама, посему ей нужно указывать только старшие 7бит
Первый пакет шлется от ведущего к ведомому это физический адрес устройства и бит направления.

Сам адрес состоит из семи бит (вот почему до 127 устройств на шине), а восьмой бит означает что будет делать Slave на следующем байте — принимать или передавать данные. Девятым битом идет бит подтверждения ACK.

Если Slave услышал свой адрес и считал полностью, то на девятом такте он придавит линию SDA в 0, сгенерировав ACK — то есть Понял!
Мастер, заметя это, понимает, что все идет по плану и можно продолжать. Если Slave не обнаружился, прозевал адрес, неправильно принял байт, сгорел или еще что с ним случилось, то, соответственно, SDA на девятом такте будет прижать некому и ACK не получится. Будет NACK. Мастер с горя хлопнет водки и прекратит свои попытки до лучших времен.
После адресного пакета идут пакеты с данными в ту или другую сторону, в зависимости от бита RW в заголовочном пакете.
Вот, например, Запись. В квадратиках идут номера битов. W=0



Если смотрим в мануал, то адрес у нас S 100000 A 0, то есть косяк в физическом адресе звукового проца и обработкой его WIRE. КОгда я писал все нули в нужном количестве, wire смещала первую единицу левее и на физику она не попадала. Поэтому в первой осциллограмме запрос выглядит, как все нули. Соответственно ответить некому.
Короче, используем скетч поиска I2C устройств.

Ладно, пойду припаивать вход и выход линейные и дальше с софтом гуляться.
Наушники эта TDA7442D потянет?
oleg707 вне форума   Ответить с цитированием