OpenEdv-开源电子网

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

STM32F407操作带FIFO的OV7725,画面静止,求助!!!

[复制链接]

6

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2013-8-15
在线时间
60 小时
发表于 2018-11-3 23:10:09 | 显示全部楼层 |阅读模式
1金钱
如题,TFT和OV7725是在原子哥淘宝店上买的,资料是从页面提供的淘宝链接上下载的,不过例子是STM32F10的,我改一下用在STM32F407上,结果出现如图所示,画面分为四部分,调了两天了,还是卡在这了,请教各位大神协助一下,谢谢!!!

这个图很清楚看见画面分为四部分

这个图很清楚看见画面分为四部分
微信图片_20181103230758.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2013-8-15
在线时间
60 小时
 楼主| 发表于 2018-11-3 23:18:02 | 显示全部楼层
我把主要的函数贴出来
int main(void)
{
       
        Sys_Clk_Init();

        LCD_Init();
        SCCB_Init();
        OV7725_Init();
        OV7725_Light_Mode(0);
        My_GPIO_Init();
       
        LCD_Clear(YELLOW);
        delay_nms(1000);
        LCD_Clear(RED);
        delay_nms(2000);
        LCD_ShowString(30,40,210,24,24,"My STM32F4 Test");
       
        OV7725_Light_Mode(0);
        OV7725_Color_Saturation(0);
        OV7725_Brightness(0);
        OV7725_Contrast(0);
        OV7725_Special_Effects(0);
        EXTI_Config();
        NVIC_Config();
        OV7725_CS = 0;
        while(1)
        {               
                if(ov_sta)
                {       
                        OV7725_camera_refresh();
                        LED = !LED;
                        ov_sta = 0;
                }
        }
}

void OV7725_camera_refresh(void)
{
        u32 i,j;
        u16 color = 0;         

                LCD_Scan_Dir(4);//????,????
                LCD_Set_Window((lcddev.width-OV7725_WINDOW_WIDTH)/2,(lcddev.height-OV7725_WINDOW_HEIGHT)/2,OV7725_WINDOW_WIDTH,OV7725_WINDOW_HEIGHT);//????????????
                LCD_WriteRAM_Prepare();     //????GRAM       
                OV7725_RRST=0;                                //???????
                OV7725_RCK_L;
                OV7725_RCK_H;
                OV7725_RCK_L;
                OV7725_RRST=1;                                //???????
                OV7725_RCK_H;
               
                for(i=0;i<76800;i++)       
                        {                               
                                OV7725_RCK_L;
                                color = OV7725_DATA;
                                OV7725_RCK_H;
                                color<<=8;  
                                OV7725_RCK_L;
                                color|= OV7725_DATA;
                                OV7725_RCK_H;
                                LCD->LCD_RAM=color;
                        }
                LCD_Scan_Dir(0);        //????????
}
void EXTI15_10_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line12)!=RESET)
  {   

                if(ov_sta==0)
                {
                        OV7725_WRST=0;         
                        OV7725_WRST=1;       
                        OV7725_WREN=1;         
                        ov_sta++;
                }
                else
                {
                        OV7725_WRST=0;         
                        OV7725_WRST=1;
                        OV7725_WREN=0;
                }
               
  }
        EXTI_ClearITPendingBit(EXTI_Line12);
}
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2018-11-4 02:17:38 | 显示全部楼层
heyangfengyue 发表于 2018-11-3 23:18
我把主要的函数贴出来
int main(void)
{

仿真找问题
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2013-8-15
在线时间
60 小时
 楼主| 发表于 2018-11-4 08:14:13 来自手机 | 显示全部楼层
正点原子 发表于 2018-11-4 02:17
仿真找问题

JTAG单步调试也是这个结果,感觉是FIFO没有更新内部数据
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2018-11-5 02:17:13 | 显示全部楼层
heyangfengyue 发表于 2018-11-4 08:14
JTAG单步调试也是这个结果,感觉是FIFO没有更新内部数据

检查HS,VS信号
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6252
金钱
6252
注册时间
2018-6-27
在线时间
534 小时
发表于 2018-11-5 09:47:08 | 显示全部楼层
帮忙顶,学习学习。
回复

使用道具 举报

6

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2013-8-15
在线时间
60 小时
 楼主| 发表于 2018-11-10 09:10:42 | 显示全部楼层

通过程序分析,中断里面的else语句后面无法执行,将OV7725_WREN = 0移到主程序判断中断标志ov_sta清零后面就可以正常显示了。
回复

使用道具 举报

6

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2013-8-15
在线时间
60 小时
 楼主| 发表于 2018-11-10 09:12:53 | 显示全部楼层

还有一个问题,仔细观察显示画面,发现画面更新还是在静止画面分割的地方,这是为什么呢?
回复

使用道具 举报

6

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2013-8-15
在线时间
60 小时
 楼主| 发表于 2018-11-10 09:13:30 | 显示全部楼层
PeterYu 发表于 2018-11-5 09:47
帮忙顶,学习学习。

谢谢支持!!
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-10-30
在线时间
9 小时
发表于 2020-5-14 23:20:38 | 显示全部楼层
楼主可以求一个源码么,我也在弄F1移植到F4的工程
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-7-13
在线时间
9 小时
发表于 2021-7-18 22:23:35 | 显示全部楼层
同求原码
回复

使用道具 举报

13

主题

643

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2432
金钱
2432
注册时间
2019-12-28
在线时间
527 小时
发表于 2021-7-19 10:12:02 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 11:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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