OpenEdv-开源电子网

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

stm32f103c8t6+带FIFO的ov7670遇到的问题

[复制链接]

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-7
在线时间
5 小时
发表于 2019-5-7 14:34:18 | 显示全部楼层 |阅读模式
2金钱
想做从摄像头接收数据然后直接传输给上位机接收,但是从串口接收到的数据一直都是0,这可能是什么原因呢?摄像头初始化可以,串口接收数据也是正常的,就是从FIFO读取数据的时候都是0
void camera_refresh(void)
{
    u32 j;
     u16 color=0x12;     
    if(ov_sta==2)
    {            
        OV7670_RRST=0;               
       OV7670_RCK_L;
        OV7670_RCK_H;
        OV7670_RCK_L;
        OV7670_RRST=1;            
       OV7670_RCK_H;
        for(j=0;j<76800;j++)
        {
            OV7670_RCK_L;
            color=GPIOA->IDR&0x00FF;   
            OV7670_RCK_H;
            color<<=8;  
            OV7670_RCK_L;
            color|=GPIOA->IDR&0x00FF;   
            OV7670_RCK_H;
            printf("%x",color);  
        }                                 
         ov_sta=0;                  
        ov_frame++;
    }
}      

这是显示函数,我把有关LCD屏的代码都注释了,想直接用printf传输数据
int main(void)
{     
    u8 key;
    u8 lightmode=0,saturation=2,brightness=2,contrast=2;
    u8 effect=0;     
    u8 i=0;        
    u8 msgbuf[15];   
    u8 tm=0;
    delay_init();           
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    uart_init(115200);   

    while(OV7670_Init()){}
    printf("initi successful");

    delay_ms(1000);            
    OV7670_Light_Mode(lightmode);
    OV7670_Color_Saturation(saturation);
    OV7670_Brightness(brightness);
    OV7670_Contrast(contrast);
     OV7670_Special_Effects(effect);     
    TIM4_Int_Init(10000,7199);                     
    EXTI8_Init();         

    OV7670_Window_Set(12,176,240,320);         
    OV7670_CS=0;  

while(1)
    {    camera_refresh();
    }
}
这是全部的主函数,我把LCD,usmart,按键等全都注释了
    if(EXTI_GetITStatus(EXTI_Line8)==SET)  
    {      
        
        if(ov_sta==0)
        {
         OV7670_WRST=0;   
         OV7670_RCK_L;
         OV7670_RCK_H;
         OV7670_RCK_L;   
         OV7670_WRST=1;   
         OV7670_RCK_H;
         ov_sta=1;
         OV7670_WREN=1;  
        }
        if(ov_sta==1)
       {
            OV7670_WREN=0;   
            ov_sta=2;
       }
}
    EXTI_ClearITPendingBit(EXTI_Line8);            
}

这是中断函数
程序是从淘宝那里下载的,但是淘宝应该是从原子的程序改的,其他部分应该都差不多
摄像头初始化成功了,串口传输也没问题,但就是从FIFO里取数据就都是000000000000000000000


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17657
金钱
17657
注册时间
2018-3-3
在线时间
523 小时
发表于 2019-5-7 14:58:41 | 显示全部楼层
看下摄像头的时钟线和数据线正常吗
回复

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-7
在线时间
5 小时
 楼主| 发表于 2019-5-7 15:02:27 | 显示全部楼层
Psheng 发表于 2019-5-7 14:58
看下摄像头的时钟线和数据线正常吗

我换了几根线了,用万用表测也有电,应该是没问题
回复

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-7
在线时间
5 小时
 楼主| 发表于 2019-5-7 16:21:15 | 显示全部楼层
顶顶顶
回复

使用道具 举报

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17657
金钱
17657
注册时间
2018-3-3
在线时间
523 小时
发表于 2019-5-7 17:32:23 | 显示全部楼层
scorjion 发表于 2019-5-7 15:02
我换了几根线了,用万用表测也有电,应该是没问题

主要用示波器或者分析仪看下波形。看下数据线输出是什么样的
/*
*
*
*
*
*
*/
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2024-5-3
在线时间
7 小时
发表于 2024-5-5 18:08:06 | 显示全部楼层
求问:串口正常传输,但是山外显示是花屏,怎么解决?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 23:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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