Перейти к основному содержимому

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

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); // выход из программы
}