OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5901|回复: 9

STM32F407与OV7670摄像头实验求助

[复制链接]

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
发表于 2018-8-6 16:43:09 | 显示全部楼层 |阅读模式
1金钱
用STM32F407和DCMI做OV7670摄像头实验,各方面初始化都能成功,VSYNC, HSYNC, PCLK的信号都正常,也开启了DCMI。DCMI能检测到VSYNC, HSYNC信号,但好像检测不到PCLK信号。观察DCMI->SR的FNE位一直为0,DCMI的FIFO应该也是一直为空,像是检测不到PCLK一样,不知道是哪里的问题,是不是还有哪个寄存器没有正确开启?请各路大神指教些招数来.下面贴出来DCMI的初始化:
void DCMI_Init(void)
{
        RCC->AHB1ENR |= 1<<0;    //使能外设PORTA时钟
        RCC->AHB1ENR |= 1<<1;    //使能外设PORTB时钟
        RCC->AHB1ENR |= 1<<2;  //使能外设PORTC时钟
        RCC->AHB1ENR |= 1<<4;  //使能外设PORTE时钟     
        RCC->AHB2ENR |= 1<<0;  //能DCMI时钟

        GPIO_Set(GPIOA, PIN4|PIN6, GPIO_MODE_AF, GPIO_OTYPE_PP, GPIO_SPEED_100M, GPIO_PUPD_PU);                        //PA4/6   复用功能输出
        GPIO_Set(GPIOB, PIN6|PIN7, GPIO_MODE_AF, GPIO_OTYPE_PP, GPIO_SPEED_100M, GPIO_PUPD_PU);                                //PB6/7   复用功能输出
        GPIO_Set(GPIOC, PIN6|PIN7|PIN8|PIN9|PIN11, GPIO_MODE_AF, GPIO_OTYPE_PP, GPIO_SPEED_100M, GPIO_PUPD_PU);                //PC6/7/8/9/11 复用功能输出
        GPIO_Set(GPIOE, PIN5|PIN6, GPIO_MODE_AF, GPIO_OTYPE_PP, GPIO_SPEED_100M, GPIO_PUPD_PU);                        //PE5/6  复用功能输出
               
        GPIO_AF_Set(GPIOA, 4, 13);   //PA4,AF13  DCMI_HSYNC
        GPIO_AF_Set(GPIOA, 6, 13);   //PA6,AF13  DCMI_PCLK  
        GPIO_AF_Set(GPIOB, 7, 13); //PB7,AF13  DCMI_VSYNC
        GPIO_AF_Set(GPIOC, 6, 13); //PC6,AF13  DCMI_D0
        GPIO_AF_Set(GPIOC, 7, 13); //PC7,AF13  DCMI_D1
        GPIO_AF_Set(GPIOC, 8, 13); //PC8,AF13  DCMI_D2
        GPIO_AF_Set(GPIOC, 9, 13);  //PC9,AF13  DCMI_D3
        GPIO_AF_Set(GPIOC, 11, 13);  //PC11,AF13 DCMI_D4
        GPIO_AF_Set(GPIOB, 6, 13);  //PB6,AF13  DCMI_D5
        GPIO_AF_Set(GPIOE, 5, 13);  //PE5,AF13  DCMI_D6
        GPIO_AF_Set(GPIOE, 6, 13);  //PE6,AF13  DCMI_D7

        DCMI->CR = 0x0;  //清除原来的设置
        DCMI->IER = 0x0;
        DCMI->ICR = 0x1F;
        DCMI->ESCR = 0x0;
        DCMI->ESUR = 0x0;
        DCMI->CWSTRTR = 0x0;
        DCMI->CWSIZER = 0x0;
       
        DCMI->CR |= 0<<1;  //连续模式
        DCMI->CR |= 0<<2;  //全帧捕获
        DCMI->CR |= 0<<4;  //硬件同步HSYNC,VSYNC
        DCMI->CR |= 1<<5;  //PCLK 上升沿有效
        DCMI->CR |= 0<<6;  //HSYNC 低电平有效
        DCMI->CR |= 0<<7;  //VSYNC 低电平有效
        DCMI->CR |= 0<<8;  //捕获所有的帧
        DCMI->CR |= 0<<10;  //8位数据格式  
        //DCMI->IER |= 1<<0;  //开启帧中断
        DCMI->CR |= 1<<14;  //DCMI使能
        //MY_NVIC_Init(0, 0, DCMI_IRQn, 2);  //抢占1,子优先级2,组2
}

最佳答案

查看完整内容[请看2#楼]

7670+dcmi,论坛12年就有例程了吧?哪个时候,骤雨龙元做的一个开发板,你搜索下,找他代码参考!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2018-8-6 16:43:10 | 显示全部楼层
7670+dcmi,论坛12年就有例程了吧?哪个时候,骤雨龙元做的一个开发板,你搜索下,找他代码参考!
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-8-6 17:16:34 | 显示全部楼层
测试DCMI中断,没有读取DCMI->DR,溢出中断也是没有产生,大概是一直都没有数据进DCMI->DR。查看三个引脚的波形又都是正常的
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-8-6 17:21:50 | 显示全部楼层
有没办法测一下DCMI的PCLK内部电路是否正常?
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-8-7 11:38:32 | 显示全部楼层
正点原子 发表于 2018-8-6 16:43
7670+dcmi,论坛12年就有例程了吧?哪个时候,骤雨龙元做的一个开发板,你搜索下,找他代码参考!

谢谢原子哥,搜索不到,用哪个关键字能搜到?
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-8-7 11:56:40 | 显示全部楼层
搜索到了一个,先调试一下看能不能用。把链接贴出来,希望能帮到需要的人:http://www.openedv.com/forum.php ... ghlight=7670%2Bdcmi
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-8-7 14:06:09 | 显示全部楼层
divdir 发表于 2018-8-7 11:56
搜索到了一个,先调试一下看能不能用。把链接贴出来,希望能帮到需要的人:http://www.openedv.com/forum.p ...

刚测试了链接上这个程序是可以用的,谢谢网友,谢谢各路神仙
回复

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2016-9-26
在线时间
26 小时
发表于 2018-8-9 22:53:16 | 显示全部楼层
兄弟, 你的显示出来了么?
用的是否是原子的OV7670?
回复

使用道具 举报

10

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-3-2
在线时间
39 小时
 楼主| 发表于 2018-8-31 11:52:34 | 显示全部楼层
a429772682 发表于 2018-8-9 22:53
兄弟, 你的显示出来了么?
用的是否是原子的OV7670?

已经正常显示,上面我留有链接的,你参考那个来做就可以了
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2020-3-16
在线时间
26 小时
发表于 2020-4-21 14:38:22 | 显示全部楼层
是不是把VSYNC的消隐极性配置为高电平后正常显示了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-2 07:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表