標(biāo)題: 求助OV7670花屏問題 [打印本頁]

作者: jiangkeqin_sy    時間: 2019-3-12 09:47
標(biāo)題: 求助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);//將顯示區(qū)域設(shè)置到屏幕中央
// LCD_WriteRAM_Prepare( );
  OV7670_RRST=0;    //開始復(fù)位讀指針
  OV7670_RCK_L;
  OV7670_RCK_H;
  OV7670_RCK_L;
  OV7670_RRST=1;    //復(fù)位讀指針結(jié)束
  OV7670_RCK_H;
  for(j=0;j<76800;j++)   //此種方式需清楚TFT內(nèi)部顯示方向控制寄存器值 速度較快
  {
   OV7670_RCK_L;
   color=GPIOF->IDR&0XFF; //讀數(shù)據(jù)
   OV7670_RCK_H;
   color<<=8;  
   OV7670_RCK_L;
   color|=GPIOF->IDR&0XFF; //讀數(shù)據(jù)
   OV7670_RCK_H;
   LCD_WriteData_Color(color);
  }            
   ov_sta=0;     //清零幀中斷標(biāo)記
}
}

int main()
{
   u8 i;
   SysTick_Init(72);
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中斷優(yōu)先級分組 分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); //設(shè)置窗口
  OV7670_CS=0;
LCD_Clear(BLACK);//正式程序要用


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

P90312-094408.jpg (4.06 MB, 下載次數(shù): 77)

P90312-094408.jpg

作者: 小窗燈    時間: 2024-8-5 22:19
樓主解決了嗎,我也這個問題




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1