int OV7670_Reset(OV7670_HandleTypeDef *hov) { HAL_Delay(100); uint8_t data = COM7_RESET; if (OV7670_WriteReg(hov, REG_COM7, &data) != OV7670_OK) { return OV7670_ERROR; } HAL_Delay(100); return OV7670_OK; }
/** * @brief Set the VGA size(640*320). * @param None * @retval None */ uint8_t DCMI_OV7670_Init(void) { uint8_t i; if(OV7670_WriteReg(REG_COM7, 0x80)!=0) return 0xff; Delay(3); for(i=0;change_reg[i][0]!=0xff;i++) { if(OV7670_WriteReg(change_reg[i][0],change_reg[i][1])!=0) { return 0xff; } } Delay(100); return 0;//Init ok }
int OV7670_WriteRegList(OV7670_HandleTypeDef *hov, const struct regval_t *reg_list) { const struct regval_t *pReg = reg_list; while (pReg->reg_addr != 0xFF && pReg->value != 0xFF) { int write_result = OV7670_WriteReg(hov, pReg->reg_addr, &(pReg->value)); if (write_result != OV7670_OK) { return write_result; } pReg++; } return OV7670_OK; }