MicroPython

Доступ и управление внутренними компонентами MicroPython.

Функции

micropython.const(expr)

Используется для объявления того, что выражение является константой, чтобы компилятор мог оптимизировать его. Использование этой функции должно быть следующим:

from micropython import const
CONST_X = const(123)
CONST_Y = const(2 * CONST_X + 1)

Константы, объявленные таким образом, по-прежнему доступны как глобальные переменные из вне модуля, в котором они объявлены. С другой стороны, если константа начинается с подчеркивания, она скрывается. Она недоступна как глобальная переменная и не занимает памяти во время выполнения.

micropython.opt_level([level])

Если задан уровень, эта функция устанавливает уровень оптимизации для последующей компиляции скриптов и возвращает None. В противном случае возвращается текущий уровень оптимизации.

Уровень оптимизации управляет следующими функциями компиляции:

  • Утверждения: на уровне 0 операторы утверждений включены и скомпилированы. в байт-код; на уровнях 1 и выше утверждения не компилируются.

  • Встроенная переменная __debug__: на уровне 0 эта переменная расширяется до

    Истинный; на уровнях 1 и выше расширяется до False.

  • Номера строк исходного кода: на уровнях 0, 1 и 2 номер строки исходного кода

    хранятся вместе с байт-кодом, чтобы исключения могли сообщать о номер строки, в которой они произошли; на уровнях 3 и выше номера строк не хранится.

Уровень оптимизации по умолчанию обычно равен 0

micropython.mem_info([verbose])

Печать информации об используемой в данный момент памяти. Если подробный аргумент задано, то печатается дополнительная информация.

micropython.qstr_info([verbose])

Вывести информацию о интернированных в данный момент строках. Если подробный аргумент дается, то печатается дополнительная информация.

Это включает в себя количество интернированных строк и объем оперативной памяти, которую они используют. В подробном режиме он выводит имена всех строк, хранящихся в оперативной памяти..

micropython.stack_use()

Возвращает целое число, представляющее текущий объем стека, который использовался. Абсолютное значение this не особенно полезно, скорее оно следует использовать для вычисления различий в использовании стека в разных точках.

micropython.heap_lock()
micropython.heap_unlock()

Блокировка или разблокировка кучи. Когда заблокировано, выделение памяти не может быть выполнено, и MemoryError будет вызвана, если будет предпринята попытка выделения кучи..

micropython.kbd_intr(chr)

Установите символ, который вызовет исключение KeyboardInterrupt. По умолчанию во время выполнения скрипта это значение равно 3, что соответствует Ctrl-C. Прохождение -1 для этой функции отключит захват Ctrl-C, а передача 3 восстановить его.

Эту функцию можно использовать для предотвращения захвата Ctrl-C на входящий поток символов, который обычно используется для REPL, в случае этот поток используется для других целей