rp2/main.c: Set the default clock frequency at boot and soft reset.

As a side effect, the peripheral clock will be set to 48Mhz and both
UART and I2C will not be affected by CPu speed changed using
machine.freq().

With the change the UART baud rate range is 50 to 3_000_000.

Signed-off-by: robert-hh <robert@hammelrath.com>
pull/13718/head
robert-hh 2024-02-20 21:46:57 +01:00
rodzic bf68bb95f9
commit 856d48f7d4
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 32EC5F755D5A3A93
1 zmienionych plików z 10 dodań i 0 usunięć

Wyświetl plik

@ -76,6 +76,10 @@ int main(int argc, char **argv) {
// This is a tickless port, interrupts should always trigger SEV.
SCB->SCR |= SCB_SCR_SEVONPEND_Msk;
// set the MCU frequency and as a side effect the peripheral clock
// to 48 MHz.
set_sys_clock_khz(125000, false);
#if MICROPY_HW_ENABLE_UART_REPL
bi_decl(bi_program_feature("UART REPL"))
setup_default_uart();
@ -223,6 +227,12 @@ int main(int argc, char **argv) {
soft_timer_deinit();
gc_sweep_all();
mp_deinit();
// Reset the MCU frequency
set_sys_clock_khz(125000, false);
#if MICROPY_HW_ENABLE_UART_REPL
setup_default_uart();
mp_uart_init();
#endif
}
return 0;