MicroPython:Библиотеки/pyb: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =Модуль pyb – функции для Pyboar...»)
 
 
(не показано 12 промежуточных версий этого же участника)
Строка 5: Строка 5:
=Модуль pyb – функции для Pyboard-платы<ref>[http://docs.micropython.org/en/latest/library/pyb.html docs.micropython.org - pyb — functions related to the board]</ref>=
=Модуль pyb – функции для Pyboard-платы<ref>[http://docs.micropython.org/en/latest/library/pyb.html docs.micropython.org - pyb — functions related to the board]</ref>=


Модуль pyb содержит функции, связанные с функционалом платы Pyboard.
Модуль ''pyb'' содержит функции, связанные с функционалом платы [[Pyboard]].


== Функции для работы со временем ==
== Функции для работы со временем ==


* pyb.delay(ms) – делает задержку на заданное количество миллисекунд.
* [[MicroPython:Библиотеки/pyb/pyb.delay()|pyb.delay()]]
* pyb.udelay(us) – делает задержку на заданное количество микросекунд.
* [[MicroPython:Библиотеки/pyb/pyb.udelay()|pyb.udelay()]]
* pyb.millis() – возвращает количество миллисекунд, прошедших с последнего сброса платы.
* [[MicroPython:Библиотеки/pyb/pyb.millis()|pyb.millis()]]
Возвращаемым значением всегда будет MicroPython’овское малое целое число (31-битное знаковое число), поэтому спустя 230 миллисекунд (это примерно 12.4 дня) эта функция начнет возвращать отрицательные числа.
* [[MicroPython:Библиотеки/pyb/pyb.micros()|pyb.micros()]]
При вызове pyb.stop() работа функции pyb.millis() встанет на паузу и будет находиться в таком состоянии, пока устройство не выйдет из режима сна. Это также повлияет на результат функции pyb.elapsed_millis().
* [[MicroPython:Библиотеки/pyb/pyb.elapsed_millis()|pyb.elapsed_millis()]]
* pyb.micros() – возвращает количество микросекунд, прошедших с последнего сброса платы.
* [[MicroPython:Библиотеки/pyb/pyb.elapsed_micros()|pyb.elapsed_micros()]]
Возвращаемым значением всегда будет MicroPython’овское малое целое число (31-битное знаковое число), поэтому спустя 230 микросекунд (это примерно 17.8 минут) эта функция начнет возвращать отрицательные числа.
При вызове pyb.stop() работа функции pyb.micros() встанет на паузу и будет находиться в таком состоянии, пока устройство не выйдет из режима сна. Это также повлияет на результат функции pyb.elapsed_micros().
* pyb.elapsed_millis(start) – возвращает количество миллисекунд, прошедших с запуска платы.
Эта функция умеет работать с остатком по модулю (то есть с ситуациями, когда значение переваливает за некоторый порог и идет дальше) и всегда возвращает положительное число. Это значит, что ее можно использовать для измерения периодов, длящихся до 12.4 дней.
Пример:


<syntaxhighlight lang="python" enclose="div">
== Функции для работы со сбросом ==
start = pyb.millis()
while pyb.elapsed_millis(start) < 1000:
    # Далее выполняем какие-то операции
</syntaxhighlight>


* pyb.elapsed_micros(start) – возвращает количество микросекунд, прошедших с запуска платы.
* [[MicroPython:Библиотеки/pyb/pyb.hard_reset()|pyb.hard_reset()]]
Эта функция умеет работать с остатком по модулю (то есть с ситуациями, когда значение переваливает за некоторый порог и идет дальше) и всегда возвращает положительное число. Это значит, что ее можно использовать для измерения периодов, длящихся до 17.8 минут.
* [[MicroPython:Библиотеки/pyb/pyb.bootloader()|pyb.bootloader()]]
Пример:
* [[MicroPython:Библиотеки/pyb/pyb.fault_debug(value)|pyb.fault_debug(value)]]


<syntaxhighlight lang="python" enclose="div">
== Функции для работы с прерываниями ==
start = pyb.micros()
while pyb.elapsed_micros(start) < 1000:
    # Далее выполняем какие-то операции.
    pass
</syntaxhighlight>


== Функции для работы со сбросом ==
* [[MicroPython:Библиотеки/pyb/pyb.disable_irq()|pyb.disable_irq()]]
* [[MicroPython:Библиотеки/pyb/pyb.enable_irq()|pyb.enable_irq()]]


* pyb.hard_reset() – выполняет сброс платы Pyboard, как если бы это было нажатие на кнопку RESET на плате.
== Функции для работы с электропитанием ==
* pyb.bootloader() – активирует загрузчик без использования контакта BOOT.
* pyb.fault_debug(value) – включает/выключает отладку т.н. «тяжелых отказов». Тяжелый отказ – это ситуация, когда в используемой системе возникла фатальная ошибка вроде недопустимого обращения к памяти.
Если в аргументе value будет задано False, при возникновении тяжелого отказа будет выполнен автоматический сброс платы.
Если в аргументе value будет задано True, то при возникновении тяжелого отказа система распечатает значения регистров и стек-трейс, а затем запустит бесконечное циклическое мигание светодиодами.
По умолчанию в этой функции задано False, т.е. автоматический сброс.


== Функции для работы с прерываниями ==
* [[MicroPython:Библиотеки/pyb/pyb.freq()|pyb.freq()]]
* [[MicroPython:Библиотеки/pyb/pyb.wfi()|pyb.wfi()]]
* [[MicroPython:Библиотеки/pyb/pyb.stop()|pyb.stop()]]
* [[MicroPython:Библиотеки/pyb/pyb.standby()|pyb.standby()]]


* pyb.disable_irq() – отключает запросы на прерывания. Возвращает предыдущее состояние запросов на прерывание: False для отключенных прерываний и True – для включенных. Значение, возвращенное этой функцией, можно передать функции enable_irq(), чтобы восстановить исходное состояние прерываний.
== Прочие функции ==
* pyb.enable_irq(state=True) – включает запросы на прерывания. Если задать в state значение True (это значение по умолчанию), это включит прерывания, а если False, это их выключит. Самый распространенный вариант применения этой функции – это передача возвращенного ею значения функции disable_irq(), чтобы выйти из критического раздела кода.
***
[Это 1-ая часть; 2-ая часть будет в след. порции]


* [[MicroPython:Библиотеки/pyb/pyb.have_cdc()|pyb.have_cdc()]]
* [[MicroPython:Библиотеки/pyb/pyb.hid()|pyb.hid()]]
* [[MicroPython:Библиотеки/pyb/pyb.info()|pyb.info()]]
* [[MicroPython:Библиотеки/pyb/pyb.main()|pyb.main()]]
* [[MicroPython:Библиотеки/pyb/pyb.mount()|pyb.mount()]]
* [[MicroPython:Библиотеки/pyb/pyb.repl_uart()|pyb.repl_uart()]]
* [[MicroPython:Библиотеки/pyb/pyb.rng()|pyb.rng()]]
* [[MicroPython:Библиотеки/pyb/pyb.sync()|pyb.sync()]]
* [[MicroPython:Библиотеки/pyb/pyb.unique_id()|pyb.unique_id()]]
* [[MicroPython:Библиотеки/pyb/pyb.usb_mode()|pyb.usb_mode()]]


== Классы ==


<syntaxhighlight lang="python" enclose="div">
* [[MicroPython:Библиотеки/pyb/Класс Accel|Класс Accel]] – управление акселерометром.
* [[MicroPython:Библиотеки/pyb/Класс ADC|Класс ADC]] – аналогово-цифровое преобразование.
* [[MicroPython:Библиотеки/pyb/Класс CAN|Класс CAN]] – коммуникационная шина CAN (controller area network).
* [[MicroPython:Библиотеки/pyb/Класс DAC|Класс DAC]] – цифро-аналоговое преобразование.
* [[MicroPython:Библиотеки/pyb/Класс ExtInt|Класс ExtInt]] – настройка I/O-контактов для прерываний на внешних событиях.
* [[MicroPython:Библиотеки/pyb/Класс Flash|Класс Flash]] – доступ к встроенной flash-памяти.
* [[MicroPython:Библиотеки/pyb/Класс I2C|Класс I2C]] – класс для работы с протоколом I2C.
* [[MicroPython:Библиотеки/pyb/Класс LCD|Класс LCD]] – управление LCD-дисплеем на плате LCD32MKv1.0.
* [[MicroPython:Библиотеки/pyb/Класс LED|Класс LED]] – управление светодиодом.
* [[MicroPython:Библиотеки/pyb/Класс Pin|Класс Pin]] – управление I/O-контактами.
* [[MicroPython:Библиотеки/pyb/Класс PinAF|Класс PinAF]] – альтернативные функции контактов.
* [[MicroPython:Библиотеки/pyb/Класс RTC|Класс RTC]] – часы реального времени.
* [[MicroPython:Библиотеки/pyb/Класс Servo|Класс Servo]] – драйвер для 3-проводного сервомотора.
* [[MicroPython:Библиотеки/pyb/Класс SPI|Класс SPI]] – протокол последовательной коммуникации SPI, управляемый через ведущее устройство (мастера).
* [[MicroPython:Библиотеки/pyb/Класс Switch|Класс Switch]] – управление кнопками.
* [[MicroPython:Библиотеки/pyb/Класс Timer|Класс Timer]] – управление внутренними таймерами.
* [[MicroPython:Библиотеки/pyb/Класс TimerChannel|Класс TimerChannel]] — настройка канала для таймера.
* [[MicroPython:Библиотеки/pyb/Класс UART|Класс UART]] – шина для двусторонней последовательной передачи данных.
* [[MicroPython:Библиотеки/pyb/Класс USB_HID|Класс USB_HID]] - USB с HID-интерфейсом
* [[MicroPython:Библиотеки/pyb/Класс USB_VCP|Класс USB_VCP]] - USB c VCP-интерфейсом


=См.также=
=См.также=

Текущая версия от 22:10, 4 октября 2020

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Модуль pyb – функции для Pyboard-платы[1]

Модуль pyb содержит функции, связанные с функционалом платы Pyboard.

Функции для работы со временем

Функции для работы со сбросом

Функции для работы с прерываниями

Функции для работы с электропитанием

Прочие функции

Классы

  • Класс Accel – управление акселерометром.
  • Класс ADC – аналогово-цифровое преобразование.
  • Класс CAN – коммуникационная шина CAN (controller area network).
  • Класс DAC – цифро-аналоговое преобразование.
  • Класс ExtInt – настройка I/O-контактов для прерываний на внешних событиях.
  • Класс Flash – доступ к встроенной flash-памяти.
  • Класс I2C – класс для работы с протоколом I2C.
  • Класс LCD – управление LCD-дисплеем на плате LCD32MKv1.0.
  • Класс LED – управление светодиодом.
  • Класс Pin – управление I/O-контактами.
  • Класс PinAF – альтернативные функции контактов.
  • Класс RTC – часы реального времени.
  • Класс Servo – драйвер для 3-проводного сервомотора.
  • Класс SPI – протокол последовательной коммуникации SPI, управляемый через ведущее устройство (мастера).
  • Класс Switch – управление кнопками.
  • Класс Timer – управление внутренними таймерами.
  • Класс TimerChannel — настройка канала для таймера.
  • Класс UART – шина для двусторонней последовательной передачи данных.
  • Класс USB_HID - USB с HID-интерфейсом
  • Класс USB_VCP - USB c VCP-интерфейсом

См.также

Внешние ссылки