esp8266: Enable setting CPU frequency to 160MHz
This commit is contained in:
parent
a16715ac62
commit
492fd5cb6b
|
@ -93,7 +93,3 @@ void HAL_Delay(uint32_t Delay) {
|
|||
void mp_hal_set_interrupt_char(int c) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
uint32_t mp_hal_get_cpu_freq(void) {
|
||||
return ets_get_cpu_frequency();
|
||||
}
|
||||
|
|
|
@ -5,6 +5,5 @@ void ets_isr_unmask();
|
|||
void ets_install_putc1();
|
||||
void ets_isr_attach();
|
||||
void uart_div_modify();
|
||||
uint32_t ets_get_cpu_frequency();
|
||||
|
||||
#endif // _INCLUDED_ETSHAL_H_
|
||||
|
|
|
@ -81,10 +81,16 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(pyb_info_obj, 0, 1, pyb_info);
|
|||
STATIC mp_obj_t pyb_freq(mp_uint_t n_args, const mp_obj_t *args) {
|
||||
if (n_args == 0) {
|
||||
// get
|
||||
return mp_obj_new_int(mp_hal_get_cpu_freq() * 1000000);
|
||||
return mp_obj_new_int(system_get_cpu_freq() * 1000000);
|
||||
} else {
|
||||
// set
|
||||
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "can't change freq"));
|
||||
mp_int_t freq = mp_obj_get_int(args[0]) / 1000000;
|
||||
if (freq != 80 && freq != 160) {
|
||||
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError,
|
||||
"frequency can only be either 80Mhz or 160MHz"));
|
||||
}
|
||||
system_update_cpu_freq(freq);
|
||||
return mp_const_none;
|
||||
}
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(pyb_freq_obj, 0, 1, pyb_freq);
|
||||
|
|
Loading…
Reference in New Issue