调试摄像头模块,DCMI进不了中断

目前在调试OV的摄像头模块,用的DCMI读数据,一直进不了DCMI中断。
用示波器打,有1.8V的脉冲信号。不知道是不是电压不够的缘故,帮忙看看
把HREF和VSYNC当做外部中断可以进入,DCMI中断有什么特殊的地方吗?

void HAL_DCMI_MspInit(DCMI_HandleTypeDef* hdcmi)
{
    GPIO_InitTypeDef GPIO_Initure;
    
    __HAL_RCC_DCMI_CLK_ENABLE();  
    __HAL_RCC_GPIOA_CLK_ENABLE(); 
    __HAL_RCC_GPIOB_CLK_ENABLE();   
    __HAL_RCC_GPIOC_CLK_ENABLE(); 
    
    //PA6
    GPIO_Initure.Pin=GPIO_PIN_6;  
    GPIO_Initure.Mode=GPIO_MODE_AF_PP;  
    GPIO_Initure.Pull=GPIO_PULLUP;        
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;     
    GPIO_Initure.Alternate=GPIO_AF13_DCMI;  
    HAL_GPIO_Init(GPIOA,&GPIO_Initure);   

    //PA9,10
    GPIO_Initure.Pin=GPIO_PIN_9|GPIO_PIN_10;  
    HAL_GPIO_Init(GPIOA,&GPIO_Initure);   
    
    //PB6,7,8,9
    GPIO_Initure.Pin=GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;  
    HAL_GPIO_Init(GPIOB,&GPIO_Initure);     
    
    //PC7,8,9,10,11,12
    GPIO_Initure.Pin=GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|
                     GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;  
        HAL_GPIO_Init(GPIOC,&GPIO_Initure); 
                
    HAL_NVIC_SetPriority(DCMI_IRQn,0,0);
    HAL_NVIC_EnableIRQ(DCMI_IRQn);
}

void DCMI_Init(void)
{
    DCMI_Handler.Instance=DCMI;
    DCMI_Handler.Init.SynchroMode=DCMI_SYNCHRO_HARDWARE;   
    DCMI_Handler.Init.PCKPolarity=DCMI_PCKPOLARITY_RISING;  
    DCMI_Handler.Init.VSPolarity=DCMI_VSPOLARITY_LOW;       
    DCMI_Handler.Init.HSPolarity=DCMI_HSPOLARITY_LOW;      
    
    DCMI_Handler.Init.CaptureRate=DCMI_CR_ALL_FRAME; 
    DCMI_Handler.Init.ExtendedDataMode=DCMI_EXTEND_DATA_8B;
    HAL_DCMI_Init(&DCMI_Handler);                            
}



img

经过反复查寄存器发现是DCMI->CR这个没有打开,希望朋友们能注意

DCMI(Data Communication Memory Interface)中断是由数据传输模块产生的中断,通常用于图像数据的读取。下面是可能导致DCMI中断不能正常工作的一些可能原因:

时序问题:
在使用DCMI模块时,时序问题是非常重要的,特别是要注意一些状态的过渡,如FSYNC和RST引脚电平转换或者像素时钟的生成等。时序问题可能会导致DCMI无法正常工作。建议检查一下时序电路和时钟电路中相关的配置是否准确。

DMA配置问题:
在配置DMA时,要仔细设置相关寄存器和参数,包括输入/输出的数据流、传输模式、传输方向、缓存区地址等。如果这些信息设置不正确,则可能导致DCMI数据读取不完整或者读取错误。建议检查DMA配置是否正确。

中断配置问题:
在配置DCMI中断时,确保使能了DCMI中断,并正确设置中断优先级。如果中断未能成功触发,则可能是中断配置问题。建议检查中断配置是否正确。

器件缺陷:
如果以上配置都正确,但是DCMI仍无法正常工作,可能是器件本身的缺陷造成的问题。建议将器件更换并进行测试。

至于你提到的DCMI的1.8V脉冲信号,这个电平应该是典型的DCMI数据信号电平,并不是过低的电平。建议首先检查以上的配置问题来确定DCMI中断问题的原因。