Цифровой ввод-вывод

pinMode() #

Настраивает режим работы контакта.

Синтаксис #

int pinMode(int pin, int mode)

Параметры #

pin - номер контакта.

mode - режим работы контакта:

  • INPUT - режим ввода, интегрированный подтягивающий резистор выключен.
  • INPUT_PULLUP - режим ввода, интегрированный подтягивающий "вверх" резистор включен.
  • INPUT_PULLDOWN - режим ввода, интегрированный подтягивающий "вниз" резистор включен.
  • OUTPUT - режим вывода.
  • DISABLE - деактивирует контакт.

Возврат #

0 при успешном выполнении, или отрицательное значение в случае ошибки.

Пример кода #

Код переключает контакт PA6 в режим вывода.

const int LED_1 = 6; // PA6

void setup() {
    // Инициализация библиотеки wiringRP (режим нумерации контактов sunxi)
    if(setupWiringRP(WRP_MODE_SUNXI) < 0)
        exit(EXIT_FAILURE);

    // Инициализация пользовательских объектов
    pinMode(LED_1, OUTPUT);
}

digitalRead() #

Считывает значение логического напряжения с указанного цифрового входа.

Синтаксис #

int digitalRead(int pin)

Параметры #

pin - номер контакта.

Возврат #

При успешном выполнении возвращает HIGH (1) или LOW (0), или отрицательное значение в случае ошибки.

Пример кода #

Код получает значение логического напряжения на контакте PA6.

const int PIN = 6; // PA6

void setup() {
    // Инициализация библиотеки wiringRP (режим нумерации контактов sunxi)
    if(setupWiringRP(WRP_MODE_SUNXI) < 0)
        exit(EXIT_FAILURE);

    // Инициализация пользовательских объектов
    pinMode(PIN, INPUT);
}

void loop() {
    // Основной цикл программы
    int val = digitalRead(PIN);
    ...
}

ONDESTROY() {
    // Освобождение занятых ресурсов, выключение напряжения на пинах
    pinMode(PIN, DISABLE);

    // Завершение работы библиотек
    releaseWiringRP();

    exit(0);    // выход из программы
}

digitalWrite() #

Устанавливает значение логического напряжения на указанном цифровом выходе.

Синтаксис #

int digitalWrite(int pin, int value)

Параметры #

pin - номер контакта.

value - уровень логического напряжения HIGH или LOW.

Возврат #

При успешном выполнении возвращает 0, или отрицательное значение в случае ошибки.

Пример кода #

Код устанавливает высокое значение логического напряжения на контакте PA6.

const int PIN = 6; // PA6

void setup() {
    // Инициализация библиотеки wiringRP (режим нумерации контактов sunxi)
    if(setupWiringRP(WRP_MODE_SUNXI) < 0)
        exit(EXIT_FAILURE);

    // Инициализация пользовательских объектов
    pinMode(PIN, OUTPUT);
}

void loop() {
    // Основной цикл программы
    int val = digitalWrite(PIN, HIGH);
    ...
}

ONDESTROY() {
    // Освобождение занятых ресурсов, выключение напряжения на пинах
    digitalWrite(PIN, LOW);
    pinMode(PIN, DISABLE);

    // Завершение работы библиотек
    releaseWiringRP();

    exit(0);    // выход из программы
}


249 просмотров0 комментариев

Комментарии (0)

Для участия в обсуждении Вы должны быть авторизованным пользователем
Разделы

Навигация

ВойтиРегистрация