ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
1298653 Топик полностью
Toчкa oпopы (05.04.2023 14:59, просмотров: 208) ответил reZident на Не полное соответствие спецификации I2C detected. Комбинаторная логика I2C slave обязана выводить его из ступора процедурой Bus clear. Другое дело что, возможно там глючит не сам I2C engine, а что-то другое, которое дальше него в slave упихали.
Стандарт версии 5: 

3.1.16 Bus clear

In the unlikely event where the clock (SCL) is stuck LOW, the preferential procedure is to reset the bus using the HW reset signal if your I2C devices have HW reset inputs. If the I2C devices do not have HW reset inputs, cycle power to the devices to activate the mandatory internal Power-On Reset (POR) circuit.

If the data line (SDA) is stuck LOW, the master should send nine clock pulses. The device that held the bus LOW should release it sometime within those nine clocks. If not, then use the HW reset or cycle power to clear the bus.


Читая внимательно - видим, что так или иначе правы все ораторы. От зависания SCL не спасёт ничто. От зависания DATA может (шуд, а не маст) помочь "дотактирование сбойного фрейма".

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