Pin

Класс реализует работу с пинами (контактами). Интерпретатор предоставляет готовые, встроенные экземпляры этого класса, поэтому в общем случае создание новых объектов не требуется.

LED1.write(1);
 
print(LED1.getMode());
print(LED1.getInfo());
 
/*
 * Выведет результат:
 * output
 *{
 *  "port": "B",
 *  "num": 6, "in_addr": 1111523864, "out_addr": 1111523992,
 *  "functions": {
 *    "TIM4": {
 *      "type": "\x84\x10",
 *      "af": 0 },
 *    "USART1": {
 *      "type": "TX",
 *      "af": 0 },
 *    "I2C1": {
 *      "type": "SCL",
 *      "af": 0 }
 *   }
 * }
 */

Pin(pin)

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

Pin.getInfo()

Возвращает объект, содержащий информацию о пине:

  • port — порт контроллера;
  • num — номер ножки на порте контроллера;
  • functions — объект, содержащий информацию о доступном на ножке функционале контроллера (UART, SPI, I²C, TIM) и ее применения в рамках этого функционала (RX, TX, SDA, SCL, MISO, MOSI и другой).

Pin.mode(mode)

Устанавливает режим работы пина. Параметр mode может иметь следующие значения:

  • output — пин используется как дискретный выход;
  • analog — пин используется как аналоговый вход;
  • input — пин используется как дискретный вход;
  • input_pullup — пин используется как дискретный вход с подтяжкой сигнала к напряжению контроллера;
  • input_pulldown — пин используется как дискретный вход с подтяжкой сигнала к земле;
  • opendrain — пин используется как дискретный вход/выход с открытым коллектором;
  • af_output — пин использется как выход для различных прочих функций контроллера (ШИМ, последовательный порт, SPI, I²C);
  • af_opendrain — пин используется как вход/выход с открытым коллектором для различных функций контроллера (ШИМ, последовательный порт, SPI, I²C).

Pin.getMode()

Возвращает режим работы пина на текущий момент. Значение соответствует одному из вариантов параметра mode в функции Pin.mode.

Pin.read()

Возвращает 1, если на пин подано напряжение, 0 — если оно отсутствует.

Pin.write(value)

Устанавливает или сбрасывает напряжение на пине. Значение в виде нуля или единицы передается в параметре value. Вызов этого метода всегда переводит пин в режим output.

Pin.writeAtTime(value, time)

Устанавливает или сбрасывает напряжение на пине. Значение в виде нуля или единицы передается в параметре value. Параметр time — время в миллисекундах, в течение которого будет установлено требуемое напряжение на пине, после чего оно будет переведено в противоположное.

Pin.set()

Устанавливает напряжение на пине.

Pin.reset()

Сбрасывает напряжение на пине.