找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3317|回复: 0
打印 上一主题 下一主题
收起左侧

OV7670+fifo 数据处理

[复制链接]
跳转到指定楼层
楼主
ID:84283 发表于 2018-1-23 18:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 的 时序是否正确 大家帮忙看看 谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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