cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429 DCMI VSYNC problem

megahercas6
Senior
Posted on April 10, 2015 at 14:43

Hello, as usual working on a project with STM32F429i and VITA1300 sensor from ONSEMI.

Everything seems to be in order, but for no good reason VSYNC (GPIOG pin9) is loading my VSYNC output so much, that only 200mV is left, and i can't get VSYNC interrupt. If i reconfigure GPIOG pin 9 as normal IN ( not AF ) , i get normal CMOS level of 3.3V. At this moment, i can't figureout why AF is making my pin9 as cmos output low, because i can't find any other explanation

void DCMI_HW_Init(void) 
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOG,ENABLE);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_DCMI); //D2+
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_DCMI); //D3+
GPIO_PinAFConfig(GPIOG, GPIO_PinSource10, GPIO_AF_DCMI); //D4+
GPIO_PinAFConfig(GPIOG, GPIO_PinSource11, GPIO_AF_DCMI); //D5+
GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_DCMI); //D6+
GPIO_PinAFConfig(GPIOD, GPIO_PinSource3, GPIO_AF_DCMI); //D7+
GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_DCMI); //D8+
GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_DCMI); //D9+
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_DCMI); //HSYNC+
GPIO_PinAFConfig(GPIOG, GPIO_PinSource9, GPIO_AF_DCMI); //VSYNC+
GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_DCMI); //PCLKX+
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_9| GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9| GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init(GPIOG, &GPIO_InitStructure);
}

Question is, can any one tell me problem, and if not, does VSYNC is nothing else than simple interrupt, and i can meke it as normal EXTI with high priority, what would be the difference ? That interrupt only reconfigures start address where to copy image data
1 REPLY 1
megahercas6
Senior
Posted on April 10, 2015 at 18:17

STMCubeMX did say PG9 is VSYNC, but closer inspection states that only silicon revision 3 have this pin as VSYNC, and all my processors that i ordered are revision 1. Now that is a bit of loss