ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 ноября
1353793 Топик полностью
Toчкa oпopы (23.09.2023 21:38, просмотров: 194) ответил 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

1. Изо всех сил стараюсь не кормить троллей. 2. Продаю импортные ЭК - https://shop.fulcrum.ru/buy