/** * @brief 主函数 * @param 无 * @retval 无 */ int main(void) { /* 液晶初始化 */ LCD_Init(); //while(1); #if 1 /* ov7725 gpio 初始化 */ Ov7725_GPIO_Config(); /* ov7725 寄存器配置初始化 */ while(Ov7725_Init() != SUCCESS); /* ov7725 场信号线初始化 */ VSYNC_Init(); Ov7725_vsync = 0; while(1) { if( Ov7725_vsync == 2 ) { FIFO_PREPARE; /*FIFO准备*/ ImagDisp(); /*采集并显示*/ Ov7725_vsync = 0; } } #endif }
void rt_thread_entry_trace(void* parameter) { // uint32_t tick=0; Ov7725_vsync = 0; while(1) { if(Ov7725_vsync == 2) { FIFO_PREPARE; /*FIFO准备*/ ImagDisp(&Cam_data[0][0]); /*采集并显示*/ if(Trace(&condition_yellow,&result)) { targetX=result.x-100; targetY=result.y-90; targetX/=5; targetY/=5; targetH = result.h/5; targetW = result.w/5; // ShowImage(); // ShowLocation(result); } else{ targetX=0; targetY=0; targetH=0; targetW=0; } Ov7725_vsync = 0; //处理结束标志 } } }
/*---------------------------------------------------------------------------------------*/ void Camera_Test(void) { static uint8_t led_state = 0; /* 液晶初始化 */ //LCD_Init(); Key2_GPIO_Config(); GPIO_ResetBits(GPIOB, GPIO_Pin_1); // Lcd_GramScan( 2); /* ov7725 gpio 初始化 */ Ov7725_GPIO_Config(); /* ov7725 寄存器配置初始化 */ while(Ov7725_Init() != SUCCESS); /* ov7725 场信号线初始化 */ VSYNC_Init(); Ov7725_vsync = 0; while(1) { if(Key_Scan(GPIOC,GPIO_Pin_13,0) == KEY_ON) { if(led_state == 0) { GPIO_ResetBits(GPIOA, GPIO_Pin_8); led_state = 1; } else { GPIO_SetBits(GPIOA, GPIO_Pin_8); led_state = 0; } } if( Ov7725_vsync == 2 ) { FIFO_PREPARE; /*FIFO准备*/ ImagDisp(); /*采集并显示*/ Ov7725_vsync = 0; } } }