Open kahara opened 3 years ago
The problem seems to be that PLL::configure()
erroneously sets REFDIV
to the crystal's megahertz value:
p.cs.write(|w| unsafe { w.bits(ref_mhz as _) });
REFDIV
is 1
on boot, so setting it isn't necessary. Removing the call above combined with the stuff mentioned in the earlier comment makes Pico run at full speed. I'll make a PR about this.
To verify, looked at
CLK_SYS_CTRL
with debugger and it shows0x00000000
, so the clock source is pointing toclk_ref
as expected. AndCLK_SYS_SELECTED
shows0x00000001
which, if I've interpreted the datasheet correctly, also means thatclk_ref
is selected.Is there a reason for setting up
pll_sys
and then not wiringclk_sys
to it?I tried something like this but it doesn't speed up the blinking: