OpenEdv-开源电子网

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

OV7670 I/O问题

[复制链接]

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
发表于 2013-8-12 16:24:18 | 显示全部楼层 |阅读模式
void camera_refresh(void)
{
u32 j;
  u16 color;  
if(ov_sta==2)
{
LCD_Scan_Dir(L2R_U2D); //从上到下,从左到右 
LCD_SetCursor(0x00,0x0000); //设置光标位置 
LCD_WriteRAM_Prepare();     //开始写入GRAM
  OV7670_CS=0;  
  OV7670_RRST=0; //开始复位读指针 
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束 
OV7670_RCK=1;  
for(j=0;j<76800;j++)
{
GPIOB->CRL=0X88888888;   
OV7670_RCK=0; 
color=OV7670_DATA; //读数据
OV7670_RCK=1;
color<<=8;  
  OV7670_RCK=0;
color|=OV7670_DATA; //读数据  
OV7670_RCK=1; 
GPIOB->CRL=0X33333333;  
LCD_WR_DATA(color);  
}  
  OV7670_CS=1;  
OV7670_RCK=0; 
OV7670_RCK=1; 
EXTI->R=1<<15;     //清除LINE8上的中断标志位
ov_sta=0; //开始下一次采集
  ov_frame++; 
LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向    
}  
以上是刷新函数;#define OV7670_DATA   GPIOB->IDR&0x00FF;遇到一个很奇怪的问题,就是数据端口D0~D7开始用的是PB0~PB7;后来想移植到另一块板子上面去,改成接到PF0~PF7上面去(ZET6),但是我只改掉上面的数据端口宏定义#define OV7670_DATA   GPIOF->IDR&0x00FF;没有改掉刷新里面的GPIOB,液晶就显示出摄像头拍摄的画面来了,而且测试彩条也出来了。但是全部改成PF的正常设置后,测试彩条没有了,而且画面也没了,是乱七八糟的整块颜色在刷屏。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-12 16:40:42 | 显示全部楼层
这个函数中GPIOB的输入输出方式不停切换,是因为与TFT的引脚复用了,读数据的时候是输入,显示前又改为输出。   你移植的话,可以把函数中那两句屏蔽掉,摄像头和TFT不要共用了,ZET6不缺引脚
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-12 16:47:21 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
// GPIOF->CRL=0X88888888;    
// GPIOF->CRL=0X33333333;    
把这两句屏蔽了,彩条没出来额。。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-12 16:48:17 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
画面也有点乱,分成了三条有斜条纹组成的画面,看不清楚。
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-12 16:56:29 | 显示全部楼层
回复【4楼】回首看那个曾经的我:
---------------------------------
图像出不来还是干扰?
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-12 17:03:26 | 显示全部楼层
回复【5楼】745021926:
---------------------------------
图像出来了,正常了,这句话#define OV7670_DATA   GPIOF->IDR&0x00FF   //数据输入端口
将GPIOB改成了GPIOF就可以了吗?刷新函数里面不需要加上那两句话?哪里设置IO复用了?
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-12 17:16:47 | 显示全部楼层
回复【6楼】回首看那个曾经的我:
---------------------------------
RBT6引脚少,复用可以节省引脚,#define OV7670_DATA   GPIOF->IDR&0x00FF这个就是读7670的时候要用到,如果不和TFT复用的话,在LCD_Init()中直接把TFT的数据口设置为输出就OK了,不需要频繁切换
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-12 18:59:32 | 显示全部楼层
回复【7楼】745021926:
---------------------------------
比如说MINI板上面的液晶数据口是用的PB0~PB7口,摄像头复用输入输出也是用的PB0~PB7?如果我现在的想分开用(zet6引脚足够多)的话,TFT设置为正常的I/O输出就行了就行了是吧?但是摄像头的输入输出该怎么设置?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-12 21:08:18 | 显示全部楼层
回复【8楼】回首看那个曾经的我:
---------------------------------
摄像头可以只输入就是了啊...参考我们战舰板的方式.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-12 21:18:06 | 显示全部楼层
TFT引脚输出,摄像头引脚输入就可以
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-12 21:20:52 | 显示全部楼层
回复【10楼】745021926:
---------------------------------
如果是分开的话那需不需要在刷新函数里面加上这个GPIOB->CRL=0X88888888;GPIOB->CRL=0X33333333;?
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-12 21:21:23 | 显示全部楼层
回复【11楼】回首看那个曾经的我:
---------------------------------
是的!
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-12 21:34:02 | 显示全部楼层
回复【12楼】745021926:
---------------------------------
可是我的本身就是液晶和摄像头的IO口是分开的额(液晶用的是PC和PE中的IO口,摄像头是用的PF口)。。。没有加那两句也能显示出很好画面来。。。
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-12 21:41:41 | 显示全部楼层
回复【13楼】回首看那个曾经的我:
---------------------------------
额,不好意思,上面看错了...分开了那两句就不需要了
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-13 16:03:02 | 显示全部楼层
回复【14楼】745021926:
---------------------------------
好的,明白了。谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-15 06:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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