打印
[STM32F4]

stm32F411+ov7670无法进入中断函数,愁死额

[复制链接]
2155|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kerryneil|  楼主 | 2015-7-28 11:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kerryneil 于 2015-7-28 11:07 编辑

不带FIFO,图片通过上位机在PC端显示。场中断下降沿触发进入中断函数,可是一直进不去中断,求高手解答
void Cam_Init(void)
{
          GPIO_InitTypeDef GPIO_InitStructure;
          EXTI_InitTypeDef EXTI_InitStructure;
          NVIC_InitTypeDef NVIC_InitStructure;
          DMA_InitTypeDef  DMA_InitStructure;
   //PC9  sioc  PB8  siod
          RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE);//DMA2
          RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB |
          RCC_AHB1Periph_GPIOC |RCC_AHB1Periph_GPIOD, ENABLE);
          RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
          RCC_MCO2Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_3);
        
          GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_MCO);
          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;   //AF***************IN
          GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
          GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;  
          GPIO_Init(GPIOA, &GPIO_InitStructure);           //XCLK
               
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//PC5:PWRDOWN
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
    GPIO_Init(GPIOC, &GPIO_InitStructure);
    GPIO_ResetBits(GPIOC, GPIO_Pin_5);//power on

    GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_FSMC);//DCMI_HSYNC    //**********//
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_FSMC);//DCMI_PIXCLK  //***********//
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_FSMC);//DCMI_D5                           
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_FSMC);//DCMI_VSYNC  //**********//
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_FSMC);//DCMI_D6
    GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_FSMC);//DCMI_D7                           
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource10, GPIO_AF_FSMC);//DCMI_D0
    GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_FSMC);//DCMI_D1                           
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_FSMC);//DCMI_D2
    GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_FSMC);//DCMI_D3
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_FSMC);//DCMI_D4 */

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7| GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
    GPIO_Init(GPIOC, &GPIO_InitStructure);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7| GPIO_Pin_3| GPIO_Pin_4| GPIO_Pin_5| GPIO_Pin_10;
    GPIO_Init(GPIOB, &GPIO_InitStructure);  
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 |GPIO_Pin_6 ;
    GPIO_Init(GPIOA, &GPIO_InitStructure);        
               
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 ;   //PCLK
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure);        
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 ;   //HSYNC
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);                        
               
               
                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6  ;  //PA6中断
                GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  
                GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
                GPIO_Init(GPIOA, &GPIO_InitStructure);  
        
//******************************************EXTI*******************************************//
                SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource6); //PA6作为外部中断引脚
              
                EXTI_InitStructure.EXTI_Line = EXTI_Line6;     
                EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;  
                EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling ;
                EXTI_InitStructure.EXTI_LineCmd = ENABLE;  
                EXTI_Init(&EXTI_InitStructure);  
//*****************************************NVIC****************************************************//

                #ifdef  VECT_TAB_RAM
                NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);
                #else
                NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);
                #endif
                NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
                NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn ;
                NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
                NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
                NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
                NVIC_Init(&NVIC_InitStructure);
               
          DMA_DeInit(DMA2_Stream7);
          DMA_InitStructure.DMA_Channel = DMA_Channel_4;
          DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(&USART1->DR);        //外设地址
          DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)Image;        //内存地址
          DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;
               
          DMA_InitStructure.DMA_BufferSize = 1;
          DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
          DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
          DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
          DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
          DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;    //Circular持续传输
          DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
          DMA_Init(DMA2_Stream7, &DMA_InitStructure);
}
沙发
mmuuss586| | 2015-7-28 12:41 | 只看该作者
看你程序设置的是,上下降沿都可以进入中断;

接个按键测试下看看;
还有中断函数怎么写的

使用特权

评论回复
板凳
kerryneil|  楼主 | 2015-7-30 16:00 | 只看该作者
谢谢啦哈,原来是IO口初始化配置错了

使用特权

评论回复
地板
youneversay| | 2015-8-17 09:03 | 只看该作者
搂住你好,我最近也在做stm32f411+ov7670不带fifo,但是初始化一直不成功,你可以发一下源码吗?还有图片在上位机pc端怎么显示的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝