stm32f103c8t6+带FIFO的ov7670遇到的问题

2019-07-21 01:50发布

想做从摄像头接收数据然后直接传输给上位机接收,但是从串口接收到的数据一直都是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


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
Psheng
1楼-- · 2019-07-21 04:16
看下摄像头的时钟线和数据线正常吗
scorjion
2楼-- · 2019-07-21 08:33
 精彩回答 2  元偷偷看……
scorjion
3楼-- · 2019-07-21 13:39
顶顶顶
Psheng
4楼-- · 2019-07-21 18:46
scorjion 发表于 2019-5-7 15:02
我换了几根线了,用万用表测也有电,应该是没问题

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

一周热门 更多>