I just tried with setting the clock divider to zero, which I assume means I'm running at clock speed, and I tried setting the synch bypass, all as follows:
Code:
void pio_dmd_write_serclk_program_init(PIO pio, uint sm, uint offset) { pio_gpio_init(pio, 4); // IN_SERCLK pio_gpio_init(pio, 12); // OUT_SERCLK pio_sm_set_consecutive_pindirs(pio, sm, 4, 1, GPIO_IN); pio_sm_set_consecutive_pindirs(pio, sm, 12, 1, GPIO_OUT); pio_sm_set_clkdiv_int_frac(pio, sm, 0, 0); hw_set_bits(&pio->input_sync_bypass, 0xFFFF); // Config pio_sm_config c = pio_dmd_write_serclk_program_get_default_config(offset); sm_config_set_in_pins(&c, 4); sm_config_set_out_pins(&c, 12, 1); pio_sm_init(pio, sm, offset, &c);}
Statistics: Posted by DavidPinball — Wed Feb 28, 2024 11:12 pm