Функция shiftOut()

arduino-logo

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

Выводит последовательно 8 бит информации (1 байт) в порт ввода/вывода. Выводить можно как с левого (старшего) бита, так и с правого (младшего) бита. Каждый бит последовательно выставляется на порту ввода/вывода dataPin, после чего на порт ввода/вывода clockPin устанавливается сигнал, “говорящий” о доступности к считыванию бита.

Синтаксис

shiftOut(dataPin, clockPin, bitOrder, value

Параметры

  • dataPin – контакт платы Ардуино, на который выводятся биты.
  • clockPin – контакт для синхронизации.
  • bitOrder – параметр определяет, с какого бита начинается передача:
    • LSBFIRST – с левого (старшего) бита;
    • MSBFIRST – с правого (младшего) бита.
  • value – один байт (8 бит) информации, которые необходимо передать.

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

Ничего

Код функции shiftOut

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

void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
{
	uint8_t i;

	for (i = 0; i < 8; i++)  {
		if (bitOrder == LSBFIRST)
			digitalWrite(dataPin, !!(val & (1 << i)));
		else	
			digitalWrite(dataPin, !!(val & (1 << (7 - i))));
			
		digitalWrite(clockPin, HIGH);
		digitalWrite(clockPin, LOW);		
	}
}

Загрузки

Где купить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии