找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求助OV7670花屏问题

[复制链接]
跳转到指定楼层
楼主

extern u8 ov_sta; //在exit.c里面定义
//更新LCD显示
void camera_refresh(void)
{
u32 j;
  u16 color;
if(ov_sta)//有帧中断更新?
{
  
LCD_Set_Window(0,0,320,240);//将显示区域设置到屏幕中央
// LCD_WriteRAM_Prepare( );
  OV7670_RRST=0;    //开始复位读指针
  OV7670_RCK_L;
  OV7670_RCK_H;
  OV7670_RCK_L;
  OV7670_RRST=1;    //复位读指针结束
  OV7670_RCK_H;
  for(j=0;j<76800;j++)   //此种方式需清楚TFT内部显示方向控制寄存器值 速度较快
  {
   OV7670_RCK_L;
   color=GPIOF->IDR&0XFF; //读数据
   OV7670_RCK_H;
   color<<=8;  
   OV7670_RCK_L;
   color|=GPIOF->IDR&0XFF; //读数据
   OV7670_RCK_H;
   LCD_WriteData_Color(color);
  }            
   ov_sta=0;     //清零帧中断标记
}
}

int main()
{
   u8 i;
   SysTick_Init(72);
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中断优先级分组 分2组
   TFTLCD_Init();   //LCD初始化
   EXTI0_Init();
   LCD_ShowString(10,80,tftlcd_data.width,tftlcd_data.height,16,"1212!");

  i=OV7670_Init();
while(OV7670_Init())//初始化OV7670
{
  LCD_ShowString(10,80,tftlcd_data.width,tftlcd_data.height,16,"OV7670 Error!");
  delay_ms(200);
  LCD_Fill(10,80,239,206,WHITE);
  delay_ms(200);
}
  LCD_ShowString(10,80,tftlcd_data.width,tftlcd_data.height,16,"OV7670 OK!     ");
delay_ms(1500);

OV7670_Light_Mode(0);
OV7670_Color_Saturation(2);
OV7670_Brightness(2);
OV7670_Contrast(2);
  OV7670_Special_Effects(0);

OV7670_Window_Set(12,176,240,320); //设置窗口
  OV7670_CS=0;
LCD_Clear(BLACK);//正式程序要用


while(1)
{
    camera_refresh();//更新显示
}
}

P90312-094408.jpg (4.06 MB, 下载次数: 53)

P90312-094408.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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