ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 июля
1353793 Топик полностью
Toчкa oпopы (23.09.2023 21:38, просмотров: 165) ответил Alex68 на гугление по "eeprom scl stuck" не принесло ничего вразумительного. то есть как бы такого не бывает.
Можно и по удержанию, и по удлиннению поискать. Кстати, вот ST'шник более подробно объясняет про 9 бит. И я с ним согласен, что это не 9, а "до 9, пока шина не встанет в состояние "оба высоких" после очередного импульса". Если предположить, что шина загнулась от помех, воспринятых ведомым как лишний или отсутствующий тактовый импульс... 
Usually, before sending a START bit, the SDA and SCL lines should be checked for high levels.
If they are not, bus is in error condition. Recovery is to generate manually 9 STOP bits because if it is a glitch and data is hold low by slave(s), one of these STOP bit will go through and reset slaves. This series of 9 STOP bits should not check for clock stretch. The STOP bit could be continued until both SDA and SCL are high level, which is mandatory for START to occur.
If this technique is not possible, how about trying to use an MCU GPIO pin to supply voltage to EEPROMs and keep the enable different and static? GPIO max current seems compatible.

https://community.st.com/t5/stm32-mcus-products/re-synchronisation-of-2-m24m02-dr-eeproms/td-p/468229

Вот ещё должна была бы быть некая ссылка, но связи нет и интернет архив её не сохранил.
https://community.arm.com/support-forums/f/keil-forum/18781/problem-when-implement-i2c-interface-between-at24c04-eeprom-with-8051

Заказать импортные ЭК - https://shop.fulcrum.ru/buy