Функция digitalWrite()

arduino-logo

Описание функции digitalWrite

Устанавливает логическую «1» (HIGH) или логический «0» (LOW) на цифровом входе/выходе.

Если цифровой вход/выход настроен на выход (OUTPUT) функцией pinMode, то при установке значения HIGH напряжение составит +5В (либо +3.3В, в зависимости от платы) и 0В при установке значения в LOW. Если пин настроен на вход (INPUT), то значение HIGH активирует внутренний подтягивающий резистор.

Синтаксис

digitalWrite(pin, value)

Параметры

  • pin — цифровой вход/выход.
  • value — принимает одно из двух значений HIGH (1) — высокий уровень или LOW (0) — низкий уровень.

Что возвращает

Ничего

Пример использования функции digitalWrite

void setup()
 {
   pinMode(13, OUTPUT);        	// Установка 13 пина на выход
   pinMode(2, INPUT);          	// Установка 2  пина на вход
   pinMode(3, INPUT_PULLUP);	// Установка 3  пина на вход, подтянутый к питанию
 }

void loop()
 { 
   if( digitalRead(2) ) {      	// Если на 2 пине логическая "1"
      digitalWrite(13, HIGH);   // то установить логическую "1" на 13 пине
   }
   else if( !digitalRead(3) ) {	// Если на 3 пине логический "0"
      digitalWrite(13, LOW);    // то установить логический "0" на 13 пине
   }
   delay(100);                 	// Подождать 100 милисекунд 
 }

Симуляция в протеусе выглядит так:

Функция digitalWrite в Arduino

Код функции digitalWrite

(hardware/arduino/avr/cores/arduino/wiring_digital.c 1.8.10)

void digitalWrite(uint8_t pin, uint8_t val)
{
	uint8_t timer = digitalPinToTimer(pin);
	uint8_t bit = digitalPinToBitMask(pin);
	uint8_t port = digitalPinToPort(pin);
	volatile uint8_t *out;

	if (port == NOT_A_PIN) return;

	// If the pin that support PWM output, we need to turn it off
	// before doing a digital write.
	if (timer != NOT_ON_TIMER) turnOffPWM(timer);

	out = portOutputRegister(port);

	uint8_t oldSREG = SREG;
	cli();

	if (val == LOW) {
		*out &= ~bit;
	} else {
		*out |= bit;
	}

	SREG = oldSREG;
}
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии