Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Камера OV7670 + STM32F407 + FSMC дисплей
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
VHEMaster
Доброго времени суток! Подключил к STM32F407 камеру OV7670. Вроде бы работает, но с проблемой.
Она заключается в том, что красный и синий цвета перепутаны, в добавок в оттенках зелёного есть артефакты
Это поясняется тем, что два байта, идущих от камеры по 8-битной параллельной шине, идут не так, чтобы потом пойти нормально в дисплей, который подключён по 16-битной шине FSMC. Формат цвета: RGB565.
Ссылка на проект вместе с фотографиями: http://www.ex.ua/get/349844494474/228998199
Вопрос следующий: как поменять те два байта местами чтобы на дисплее оказалась нормальная картинка?..
adnega
Цитата(VHEMaster @ Feb 28 2016, 00:31) *
Вопрос следующий: как поменять те два байта местами чтобы на дисплее оказалась нормальная картинка?..

Взять и проинициализировать камеру.

CODE
sccb_wr_reg(REG_COM7, 0x80); /* reset to default values */
sccb_wr_reg(REG_COM11, 0x0A);
sccb_wr_reg(REG_COM7, 0x04); /* output format: rgb */
sccb_wr_reg(REG_RGB444, 0x00); /* disable RGB444 */
sccb_wr_reg(REG_COM15, 0xC0); /* set RGB565 */

// COLOR SETTING
sccb_wr_reg(0x4f, 0x80);
sccb_wr_reg(0x50, 0x80);
sccb_wr_reg(0x51, 0x00);
sccb_wr_reg(0x52, 0x22);
sccb_wr_reg(0x53, 0x5e);
sccb_wr_reg(0x54, 0x80);
sccb_wr_reg(0x56, 0x40);
sccb_wr_reg(0x58, 0x9e);
sccb_wr_reg(0x59, 0x88);
sccb_wr_reg(0x5a, 0x88);
sccb_wr_reg(0x5b, 0x44);
sccb_wr_reg(0x5c, 0x67);
sccb_wr_reg(0x5d, 0x49);
sccb_wr_reg(0x5e, 0x0e);
sccb_wr_reg(0x69, 0x00);
sccb_wr_reg(0x6a, 0x40);
sccb_wr_reg(0x6b, 0x0a);
sccb_wr_reg(0x6c, 0x0a);
sccb_wr_reg(0x6d, 0x55);
sccb_wr_reg(0x6e, 0x11);
sccb_wr_reg(0x6f, 0x9f);

sccb_wr_reg(0xb0, 0x84);
sccb_wr_reg(0x11, 0x80);
VHEMaster
Цитата(adnega @ Feb 28 2016, 00:21) *
Взять и проинициализировать камеру.

Как? Я попытался вкинуть этот код в свой разными способами: вырезая и вставляя отдельные куски кода, но результат был одним и тем же: жуткие артефакты...
Архив с фото и изменённым main.c прикрепил
adnega
Цитата(VHEMaster @ Feb 28 2016, 11:11) *
Как? Я попытался вкинуть этот код в свой разными способами: вырезая и вставляя отдельные куски кода, но результат был одним и тем же: жуткие артефакты...
Архив с фото и изменённым main.c прикрепил

1. А удалить всю вашу инициализацию и оставить только мою не пробовали?
2. Читать документацию на камеру не пробовали?
VHEMaster
Цитата(adnega @ Feb 28 2016, 10:25) *
1. А удалить всю вашу инициализацию и оставить только мою не пробовали?
2. Читать документацию на камеру не пробовали?

1. Пробовал. Камера вообще не включается после этого
2. Пробовал. Да, кстати. Проблема с перемешиванием цветов была из-за дисплея. Т.к. я его ещё не опробовал полностью не заметил этой проблемы сразу.
Теперь осталась лишь проблема с цветами. Во-первых баланс белого сильно сдвинут в сторону зелёного, а во-вторых картинка какая-то 8-битная..
adnega
Цитата(VHEMaster @ Feb 28 2016, 12:10) *
1. Пробовал. Камера вообще не включается после этого

Я получаю картинку 640х480. Единственное, что нужно добавить получение картинки формата 320х240.

Цитата(VHEMaster @ Feb 28 2016, 12:10) *
2. Пробовал. Да, кстати. Проблема с перемешиванием цветов была из-за дисплея. Т.к. я его ещё не опробовал полностью не заметил этой проблемы сразу.
Теперь осталась лишь проблема с цветами. Во-первых баланс белого сильно сдвинут в сторону зелёного, а во-вторых картинка какая-то 8-битная..

Прицепляю картинку. С цветами все ок.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.