Страница 2 из 2

Re: Не работает I2c в attiny25

СообщениеДобавлено: 31 мар 2020, 06:53
Андрей
Здравствуйте коллеги обещал я проверить в железе, удалось мне приобрести только Attiny45 под неё я и откомпилировал проект который я давал последним. Результаты не многообещающие в протеусе как обычно всё работает, в железе нет а в частности нет тактовых импульсов CLK, условие старт и стоп формируются с необходимыми задержками. Выглядит это так я отключил ЦАП MCP-4725 и попробовал осцилографом только с нагрузочными резисторами на SDA и SCL, дальше смотрю двухлучевым осцилографом, вижу на SDA и SCL Старт, на SDA передаваемые байты есть (с разницей битов ASK, слейв к земле их не подтягивает), на SCL лог. 0 импульсов нет, SDA и SCL Стоп. Пробовал ещё подставить процедуру чтения байта между передачей и стоп условием, тоже самое на SDA в этот момент лог 1, а на SCL лог 0 в протеусе всё в порядке. Я в своей жизни с такой радикальной разницей протеуса и железа я сталкиваюсь впервые, у кого какие мысли есть, мне трудно понять в чём разница модели протеуса и реального МК.

Re: Не работает I2c в attiny25

СообщениеДобавлено: 31 мар 2020, 14:16
Андрей
Ещё раз здравствуйте оказывается модель протеуса и реальный МК различаются, вообщем разобрался я с файлом AVR_CAL_I2C.c одно исправил в нём, другое сломал. Сброс флага USISIF регистра USISR надо было оставить как было изначально в конце выполнения операций Start и Restart, остальные свои исправления я не менял. В папке есть рабочий файл AVR_CAL_I2C.c и проект под Attiny45 который работает в железе.