Fork me on GitHub

esp8266 a 160MHz con MicroPython

April 18, 2018

El módulo machine tiene la función freq que devuelve la frecuencia en hertz

>>> import machine
>>> machine.freq()
80000000

Esto es 80MHz, la frecuencia normal de trabajo del esp8266, pero podemos llevarlo al doble de su velocidad

>>> machine.freq(160000000)

Los valores intermedios no son permitidos

>>> machine.freq(100000000)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: frequency can only be either 80Mhz or 160MHz

Para probar el cambio he aquí una pequeña función que cuenta ticks

import utime

def performance_test():
    secs = utime.ticks_ms()
    end_time = secs + 5000
    count = 0
    while utime.ticks_ms() < end_time:
        count += 1
    print("Count:", count)

Finalmente

>>> machine.freq(80000000)
>>> performance_test()
Count: 55596

>>> machine.freq(160000000)
>>> performance_test()
Count: 98702

MicroPython Python esp8266