XVCLK was exceding typical frequency of OV2640 by 1MHz

This commit is contained in:
KubaWis 2025-03-14 17:36:35 +01:00
parent 4bb028cbc8
commit fd0136445b

View File

@ -394,12 +394,12 @@ int OV2640::begin(int dma_irq)
{ {
// Initialize peripherals for parallel+I2C camera: // Initialize peripherals for parallel+I2C camera:
// XCLK generation (~20.83 MHz) // XCLK generation (~18.71 MHz)
gpio_set_function(this->config.pin_xclk, GPIO_FUNC_PWM); gpio_set_function(this->config.pin_xclk, GPIO_FUNC_PWM);
uint slice_num = pwm_gpio_to_slice_num(this->config.pin_xclk); uint slice_num = pwm_gpio_to_slice_num(this->config.pin_xclk);
// 6 cycles (0 to 5), 125 MHz / 6 = ~20.83 MHz wrap rate // 8 cycles (0 to 7), 150 MHz / 8 = ~18.71 MHz wrap rate
pwm_set_wrap(slice_num, 5); pwm_set_wrap(slice_num, 7);
pwm_set_gpio_level(this->config.pin_xclk, 3); pwm_set_gpio_level(this->config.pin_xclk, 4);
pwm_set_enabled(slice_num, true); pwm_set_enabled(slice_num, true);
// Init SCCB // Init SCCB