Нет ответа по I2C от камеры Omni Vision

Приобрел для тестирования МК + камера

какая конкретно модель камеры непонятно, в описании нашел только это: Support Sensor: OV7670, OV2640, OV7725, OV5640-AF

Пытаюсь пообщаться с ней по I2C, но она не отвечает.

Пробовал по разным адресам камер OV.

Кто нибудь плотно работал с этими камерами? Что я делаю не так?

А сканер-то её видит?

нет, не видит.

Но сканер для STM32 я писал сам, возможно и накосячил.

Отбой, нашел описание проблемы тут

Omnivision OV7640 SCCB (I2C?) bus problem - ElectronDepot

Неделя поиска :man_facepalming:

Оказывается в ДШ камер адреса I2C указаны уже с учетом сдвига, т е не нужно было сдвигать адрес для установки младшего бита чтения/записи.

1 лайк

Так теперь сканер увидел?

нет, явно сканер кривой, надо будет переписать на досуге.

Или на гитхабе поискать для STM32 на регистрах.

А чего там может быть кривого?

for( uint8_t i=1; i<128; i++ ){
      state = HAL_I2C_IsDeviceReady(&hi2c1,(uint16_t)(i<<1), 3, 5);
....

ну изобразите мне плиз то же самое только в CMSIS и на STM32H743 :slightly_smiling_face:

ЗЫ. Расквырять HAL функцию можно, но не всегда это удается, тк куда то глубоко в дебри уходит код + обычно часть кода скрыто. Проще самим нарисовать.

нет уж, увольте :sweat_smile:
я ранее предупреждал, связываться с регистрами выше F103 - мазохизм!

Ип@ть. Тебе «ехать» или разобраться в вопросе?

Разобраться в вопросе, это ж хобби…

“Каждый….как хочет” (с)