====== Pin ====== Класс реализует работу с пинами (контактами). Интерпретатор предоставляет готовые, [[.:builtins#объекты-пины|встроенные экземпляры]] этого класса, поэтому в общем случае создание новых объектов не требуется. 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 } * } * } */ class:: Pin(pin) Класс для работы с пином. Создавать новый экземпляр в общем случае не требуется: используйте встроенные объекты. Однако в качестве ''pin'' можно использовать строковый литерал, чтобы по имени пина получить его объект. func:: Pin.getInfo() Возвращает объект, содержащий информацию о пине: * ''port'' — порт контроллера; * ''num'' — номер ножки на порте контроллера; * ''functions'' — объект, содержащий информацию о доступном на ножке функционале контроллера (UART, SPI, I²C, TIM) и ее применения в рамках этого функционала (RX, TX, SDA, SCL, MISO, MOSI и другой). func:: Pin.mode(mode) Устанавливает режим работы пина. Параметр ''mode'' может иметь следующие значения: * ''output'' — пин используется как дискретный выход; * ''analog'' — пин используется как аналоговый вход; * ''input'' — пин используется как дискретный вход; * ''input_pullup'' — пин используется как дискретный вход с подтяжкой сигнала к напряжению контроллера; * ''input_pulldown'' — пин используется как дискретный вход с подтяжкой сигнала к земле; * ''opendrain'' — пин используется как дискретный вход/выход с открытым коллектором; * ''af_output'' — пин использется как выход для различных прочих функций контроллера (ШИМ, последовательный порт, SPI, I²C); * ''af_opendrain'' — пин используется как вход/выход с открытым коллектором для различных функций контроллера (ШИМ, последовательный порт, SPI, I²C). func:: Pin.getMode() Возвращает режим работы пина на текущий момент. Значение соответствует одному из вариантов параметра ''mode'' в функции ''Pin.mode''. func:: Pin.read() Возвращает ''1'', если на пин подано напряжение, ''0'' — если оно отсутствует. func:: Pin.write(value) Устанавливает или сбрасывает напряжение на пине. Значение в виде нуля или единицы передается в параметре value. Вызов этого метода всегда переводит пин в режим ''output''. func:: Pin.writeAtTime(value, time) Устанавливает или сбрасывает напряжение на пине. Значение в виде нуля или единицы передается в параметре ''value''. Параметр ''time'' — время в миллисекундах, в течение которого будет установлено требуемое напряжение на пине, после чего оно будет переведено в противоположное. func:: Pin.set() Устанавливает напряжение на пине. func:: Pin.reset() Сбрасывает напряжение на пине.