STM32F767的DCMI+TW9912配置逐行BT656内嵌码同步问题
需要通过stm32的DCMI接口将tw9912解码去隔行的逐行BT656数据流采集到外置的SDRAM中,已经配置好TW9912,其已正常工作,但是配置的stm32的DCMI内嵌码同步出问题了,无论如何修改内嵌码同步值,帧中断频率都100多HZ;去隔行的tw9912的帧率是50Hz,真是让人头大。另外,参考手册上DCMI_ESUR寄存器也不是它说的那种使用方式。以下是DCMI口配置的代码DCMI_Handler.Instance=DCMI;
DCMI_Handler.Init.SynchroMode=DCMI_SYNCHRO_EMBEDDED; //硬件同步HSYNC,VSYNC
DCMI_Handler.Init.PCKPolarity=DCMI_PCKPOLARITY_RISING;//PCLK 上升沿有效
DCMI_Handler.Init.CaptureRate=DCMI_CR_ALTERNATE_4_FRAME; //全帧捕获
DCMI_Handler.Init.ExtendedDataMode=DCMI_EXTEND_DATA_8B; //8位数据格式DCMI_OEBS_EVEN
DCMI_Handler.Init.SyncroCode.FrameEndCode = 0xb6;
DCMI_Handler.Init.SyncroCode.FrameStartCode = 0xab;
DCMI_Handler.Init.SyncroCode.LineStartCode = 0x80;
DCMI_Handler.Init.SyncroCode.LineEndCode = 0x9d;
DCMI_Handler.Init.JPEGMode = DCMI_JPEG_DISABLE;
DCMI_Handler.Init.ByteSelectMode = DCMI_BSM_ALL;
DCMI_Handler.Init.ByteSelectStart = DCMI_OEBS_EVEN;
DCMI_Handler.Init.LineSelectMode = DCMI_LSM_ALL;
DCMI_Handler.Init.LineSelectStart = DCMI_OELS_ODD;
HAL_DCMI_Init(&DCMI_Handler);
__HAL_DCMI_DISABLE_IT(&DCMI_Handler,DCMI_IT_LINE|DCMI_IT_VSYNC|DCMI_IT_ERR|DCMI_IT_OVR);
__HAL_DCMI_ENABLE_IT(&DCMI_Handler,DCMI_IT_VSYNC); //使能帧中断
__HAL_DCMI_ENABLE(&DCMI_Handler);
就是不知道DCMI该如何配置,希望大神指导一下,谢谢。 有大神做过的吗?指导一下啊
页:
[1]