标题: OV7670+fifo 数据处理 [打印本页]

作者: qq1105424012    时间: 2018-1-23 18:57
标题: OV7670+fifo 数据处理
void usart_byte(u8 byte1)
{
        USART_SendData(USART1,byte1);
        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);}

//显示
void display()
{        
        u32 j;
        u8 color;         
if(ov_sta==2)
        {
       
                OV7670_WREN=0;
                        OV7670_RCK=1;
          
                OV7670_RRST=0;                                //开始复位读指针
                OV7670_RCK=0;
                OV7670_RCK=1;
                OV7670_RCK=0;
                OV7670_RRST=1;                                //复位读指针结束
                OV7670_CS=0;
                delay_us(50);

usart_byte(0x01); //上位机数据协议                       
                usart_byte(0xfe); //上位机数据协议
               
                for(j=0;j<76800;j++)
                {
                        OV7670_RCK=0;
                        __asm{nop;}
                       
                        OV7670_RCK=1;
                        __asm{nop;}
//                        color<<=8;
                color=(GPIOC->IDR&0XFF);        //读数据                       
                        OV7670_RCK=0;
                        __asm{nop;}
                        color|=GPIOB->IDR&0XFF;        //读数据
                        OV7670_RCK=1;
                        __asm{nop;}
  usart_byte(color);
                }                                                            
    OV7670_CS=1;
                usart_byte(0xfe); //上位机数据协议
                usart_byte(0x01); //数据协议

ov_sta=0;        //??????????????
EXTI_ClearITPendingBit(EXTI_Line8);  //清除EXTI8线路挂起位       


        }


}

void EXTI9_5_IRQHandler(void)
{                                

        if(EXTI_GetITStatus(EXTI_Line8)==SET)//是8线的中断
        {     
                ov_sta++;

                        if(ov_sta==1)
                        {
                                OV7670_WRST=1;                 //复位写指针                                   
                                __asm{nop;}
                                OV7670_WRST=0;
                                        delay_us(2);
                                OV7670_WRST=1;
                                OV7670_WREN=1;                //允许写入FIFO
                        }
                       
       
               
                }
       

        EXTI_ClearITPendingBit(EXTI_Line8);  //清除EXTI8线路挂起位                                                  
}

用USART 串口给PC 上位机显示  主要是color的数据 需不需要处,怎么处理才能显示  。。
  还有 FIFO 的 时序是否正确 大家帮忙看看 谢谢





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1