求教,DCMI驱动7725,不能进入场中断,有波形,求配置

2019-12-28 17:47发布

本帖最后由 kevin_ares 于 2015-11-25 18:02 编辑

          DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Falling;//DCMI_PCKPolarity_Falling
  DCMI_InitStructure.DCMI_VSPolarity =DCMI_VSPolarity_High;//
  DCMI_InitStructure.DCMI_HSPolarity =DCMI_HSPolarity_Low ;//

同样的板子,接ov2640是能读出数据的,这三个值排列组合都不行
能产生行中断,但DMA没读到数据,剩余字节数是满的
        DCMI_ITConfig(DCMI_IT_FRAME|DCMI_IT_LINE ,ENABLE);
不能产生帧中断

求问是哪儿的问题,搞了几天了
V 线与H线的关系与2640是一样的,H线与P线的极性与2640是反的

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
kevin_ares
1楼-- · 2019-12-28 21:15
本帖最后由 kevin_ares 于 2015-11-24 19:57 编辑
  1.         GPIO_InitTypeDef  GPIO_InitStructure;
  2.         NVIC_InitTypeDef NVIC_InitStructure;


  3.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOE, ENABLE);//ʹÄÜGPIOA B C E ʱÖÓ
  4.         RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_DCMI,ENABLE);//ʹÄÜDCMIʱÖÓ
  5.         //PA4/6³õʼ»¯ÉèÖÃ
  6.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_6;//PA4/6   ¸´Óù¦ÄÜÊä³ö
  7.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //¸´Óù¦ÄÜÊä³ö
  8.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
  9.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  10.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ÉÏÀ­
  11.         GPIO_Init(GPIOA, &GPIO_InitStructure);//³õʼ»¯

  12.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_6;// PB6/7   ¸´Óù¦ÄÜÊä³ö
  13.         GPIO_Init(GPIOB, &GPIO_InitStructure);//³õʼ»¯

  14.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;//PC6/7/¸´Óù¦ÄÜÊä³ö
  15.         GPIO_Init(GPIOC, &GPIO_InitStructure);//³õʼ»¯       

  16.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;//PE5/6  ¸´Óù¦ÄÜÊä³ö
  17.         GPIO_Init(GPIOE, &GPIO_InitStructure);//³õʼ»¯       

  18.         GPIO_PinAFConfig(GPIOA,GPIO_PinSource4,GPIO_AF_DCMI); //PA4,AF13  DCMI_HSYNC
  19.         GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_DCMI); //PA6,AF13  DCMI_PCLK  
  20.         GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_DCMI); //PB7,AF13  DCMI_VSYNC
  21.         GPIO_PinAFConfig(GPIOC,GPIO_PinSource6,GPIO_AF_DCMI); //PC6,AF13  DCMI_D0  
  22.         GPIO_PinAFConfig(GPIOC,GPIO_PinSource7,GPIO_AF_DCMI); //PC7,AF13  DCMI_D1
  23.         GPIO_PinAFConfig(GPIOE,GPIO_PinSource0,GPIO_AF_DCMI); //PE0,AF13  DCMI_D2
  24.         GPIO_PinAFConfig(GPIOE,GPIO_PinSource1,GPIO_AF_DCMI); //PE1,AF13  DCMI_D3
  25.         GPIO_PinAFConfig(GPIOE,GPIO_PinSource4,GPIO_AF_DCMI); //PE4,AF13  DCMI_D4
  26.         GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_DCMI); //PB6,AF13  DCMI_D5
  27.         GPIO_PinAFConfig(GPIOE,GPIO_PinSource5,GPIO_AF_DCMI); //PE5,AF13  DCMI_D6
  28.         GPIO_PinAFConfig(GPIOE,GPIO_PinSource6,GPIO_AF_DCMI); //PE6,AF13  DCMI_D7


  29.         DCMI_DeInit();//Çå³ýÔ­À´µÄÉèÖÃ


  30.         //DCMI_InitStructure.DCMI_CaptureMode=DCMI_CaptureMode_SnapShot;//Á¬ÐøģʽDCMI_CaptureMode_SnapShot
  31.                 DCMI_InitStructure.DCMI_CaptureMode=DCMI_CaptureMode_Continuous;//Á¬ÐøģʽDCMI_CaptureMode_SnapShot

  32.         DCMI_InitStructure.DCMI_CaptureRate=DCMI_CaptureRate_All_Frame;//È«Ö¡²¶»ñ
  33.         DCMI_InitStructure.DCMI_ExtendedDataMode= DCMI_ExtendedDataMode_8b;//8λÊý¾Ý¸ñʽ  

  34. //        DCMI_InitStructure.DCMI_SynchroMode= DCMI_SynchroMode_Embedded;
  35.         DCMI_InitStructure.DCMI_SynchroMode=DCMI_SynchroMode_Hardware;//Ó²¼þͬ²½HSYNC,VSYNC
  36. #ifdef USE_7725

  37.           DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Falling;//DCMI_PCKPolarity_Falling
  38.   DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_High;//DCMI_VSPolarity_High
  39.   DCMI_InitStructure.DCMI_HSPolarity =DCMI_HSPolarity_Low ;//DCMI_HSPolarity_Low
  40.         #else
  41.                  DCMI_InitStructure.DCMI_VSPolarity=DCMI_VSPolarity_Low;//VSYNC µÍµçƽÓÐЧ
  42.                 DCMI_InitStructure.DCMI_HSPolarity= DCMI_HSPolarity_Low;//HSYNC µÍµçƽÓÐЧ
  43.         DCMI_InitStructure.DCMI_PCKPolarity= DCMI_PCKPolarity_Rising;//PCLK ÉÏÉýÑØÓÐЧ

  44.         #endif
  45.         DCMI_Init(&DCMI_InitStructure);

  46.         DCMI_ITConfig(DCMI_IT_FRAME|DCMI_IT_LINE ,ENABLE);//¿ªÆôÖ¡ÖжÏ

  47.         DCMI_ClearITPendingBit(DCMI_IT_LINE|DCMI_IT_VSYNC|DCMI_IT_FRAME);
  48.         DCMI_Cmd(ENABLE);        //DCMIʹÄÜ
复制代码
kevin_ares
2楼-- · 2019-12-28 23:45
UP,真心求教
kevin_ares
3楼-- · 2019-12-29 00:42
本帖最后由 kevin_ares 于 2015-11-25 17:08 编辑

直接用GPIO中断能读到数据,DCMI就是不行...求指点,谢谢
  1. extern "C" void EXTI9_5_IRQHandler(void)
  2. {
  3.         if(EXTI->PR & EXTI_Line6)//像素中断
  4.         {
  5.                 //0,1,    2,3  (4,5) 6,7,8
  6.                 buf_7725[g_p]= ((GPIOC->IDR & 0xc0) | GPIOE->IDR & 0x3) |((GPIOE->IDR & 0x70)>>2)|((GPIOB->IDR & 0x40)>>1);
  7.                 g_p++;
  8.                 EXTI->PR =  EXTI_Line6;
  9.         }
  10.                 if(EXTI->PR & EXTI_Line4) //行中断
  11.         {
  12.                 g_oldp=g_p;
  13.                 g_h++;
  14.                 g_p=0;
  15.                 EXTI->PR =  EXTI_Line4;
  16.         }
  17.                 if(EXTI->PR & EXTI_Line7) //帧中断
  18.         {
  19.                                  
  20.                 g_h=0;
  21.                 g_v++;
  22.                 EXTI->PR =  EXTI_Line7;
  23.         }
  24. }
复制代码
kevin_ares
4楼-- · 2019-12-29 05:36
 精彩回答 2  元偷偷看……
gmyu
5楼-- · 2019-12-29 10:11
kevin_ares 发表于 2015-11-26 16:40
用中断CPU塞死了

怎么处理的,我的也是,直接进入中断错误处理。 我已经关闭了行和场中断,只有帧中断。dma中断没有处理。
/**
* @brief This function handles Hard fault interrupt.
*/
void HardFault_Handler(void)

一周热门 更多>