/** Configures and starts the XOSC32K external crystal. */ static void init_xosc32k(void) { /* Configure and enable the XOSC32K clock source */ struct system_clock_source_xosc32k_config xosc32k_conf; system_clock_source_xosc32k_get_config_defaults(&xosc32k_conf); xosc32k_conf.auto_gain_control = false; xosc32k_conf.on_demand = false; system_clock_source_xosc32k_set_config(&xosc32k_conf); system_clock_source_enable(SYSTEM_CLOCK_SOURCE_XOSC32K); while(!system_clock_source_is_ready(SYSTEM_CLOCK_SOURCE_XOSC32K)); }
//! [setup] //! [config_extosc32k] void configure_extosc32k(void) { //! [config_extosc32k_config] struct system_clock_source_xosc32k_config config_ext32k; //! [config_extosc32k_config] //! [config_extosc32k_get_defaults] system_clock_source_xosc32k_get_config_defaults(&config_ext32k); //! [config_extosc32k_get_defaults] //! [config_extosc32k_change_defaults] config_ext32k.startup_time = SYSTEM_XOSC32K_STARTUP_4096; //! [config_extosc32k_change_defaults] //! [config_extosc32k_set_config] system_clock_source_xosc32k_set_config(&config_ext32k); //! [config_extosc32k_set_config] }