Определение наличие устройств на шине I2C

PIC версия программы(разные темы)

Определение наличие устройств на шине I2C

Сообщение andr_l (Андрей) » 20 сен 2016, 14:44

Добрый день.

4 штуки PCM1795 подключенны по I2C к 12F1840-I/SN.
в FC5 написал программу с помощью которой при инициализации устройства в PCM1795 заливаю нужную конфигурацию,
а за тем в цикле опрашивая внешний потенциометр регулирую громкость во всех 4х цапах.

решил сделать "защиту от дурака" и ввести проверку на отсутствие любого цапа в этой 4ке.
сделал так как написано на форуме производителя:
Initialise I2C master
Start
TransmitByte, with the device address as parameter, test the return value (0=Ack, 1=Nak)
Stop

прошивка при отсутствии любого цапа зависает не получая от него ACK, соответственно дальше не могу ничего с прошивкой сделать :(

Помогите пожалуйста в данном вопросе
Ник: andr_l
Имя: Андрей
(msk)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Определение наличие устройств на шине I2C

Сообщение mim (mim) » 21 сен 2016, 08:05

Сигнал АСК (подтверждение или квитирование) информирует о нормальном завершении каждого обмена данными. Передатчик, как «Ведущий», так и «Ведомый», освобождает линию SDA после передачи восьмого бита данных. Во время девятого тактового импульса приемник - «Ведомый» переводит линию SDA в низкий логический уровень, подтверждая прием переданного ему байта, а передатчик - «Ведущий» проверяет состояние шины и в зависимости от результата либо повторяет байт, либо готовит передачу следующего. Либо определяет что нет такого устройства (адрес не приняли и не подтвердили)...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Определение наличие устройств на шине I2C

Сообщение andr_l (Андрей) » 21 сен 2016, 12:01

Спасибо. Вопрос закрыт и все заработало :D
Ник: andr_l
Имя: Андрей
(msk)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх


Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron