Ищу помощь за символическую $$$
stm32f446 + OV7670
Пытаюсь в прерываниях посчитать количество строк (DCMI_IT_LINE) и пересылок (DMA_IT_TCIF1). В первом случае переменная-счетчик очень отличается, во втором случае - всегда одна посылка.
DCMI:
- snapShot
- all_frame
- 8b
- VS, HS, PCLK настроены в соответствии с картинкой на осциллографе (0, 1, Rising)
- hardware sync
- jpeg disable
- прерывания по line и vsynk разрешены глобально и с наивысшим приоритетом
DMA:
- dma2 channel1_1
- направление Peripheral2Mem
- адрес dcmi и переменной задаю
- адреса не инкрементирую, а перезаписываю
- buffSize = 1
- dataSize = word
- режим циклической передачи
- приоритет veryHigh
- fifo enable
- threshold full
- burst single
- прерывание по TC разрешено глобально и с наивысшим приоритетом
DCMI отдельно работает, DMA с uart тоже, а вместе уже надоело тыкаться. Тема частично раскрыта в интернетах, но у меня не получается. Пробовал и менять полярность DCMI, и менять очередность dcmi_cmd с dcmi_capturecmd.
Цель - захватить кадр и сохранить, в идеале с настройкой CROP.
|