<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wikihandbk.com/ruwiki/index.php?action=history&amp;feed=atom&amp;title=Arduino%3A%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B%2FShftIn14</id>
	<title>Arduino:Примеры/ShftIn14 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wikihandbk.com/ruwiki/index.php?action=history&amp;feed=atom&amp;title=Arduino%3A%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B%2FShftIn14"/>
	<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/ShftIn14&amp;action=history"/>
	<updated>2026-06-15T13:58:01Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/ShftIn14&amp;diff=7673472&amp;oldid=prev</id>
		<title>EducationBot в 14:19, 14 мая 2023</title>
		<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/ShftIn14&amp;diff=7673472&amp;oldid=prev"/>
		<updated>2023-05-14T14:19:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 18:19, 14 мая 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Строка 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Код==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Код==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;c&quot; line=&quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; enclose=&quot;div&lt;/del&gt;&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&quot;c&quot; line=&quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//**************************************************************//&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//**************************************************************//&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//  Название    : Нажата ли кнопка?                             //&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//  Название    : Нажата ли кнопка?                             //&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikihandbkcom:diff::1.12:old-4571481:rev-7673472 --&gt;
&lt;/table&gt;</summary>
		<author><name>EducationBot</name></author>
	</entry>
	<entry>
		<id>http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/ShftIn14&amp;diff=4571481&amp;oldid=prev</id>
		<title>Myagkij в 05:33, 24 февраля 2023</title>
		<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/ShftIn14&amp;diff=4571481&amp;oldid=prev"/>
		<updated>2023-02-24T05:33:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 09:33, 24 февраля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l178&quot;&gt;Строка 178:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 178:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;references /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Навигационная таблица/Портал/Arduino}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Пример программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Примеры программирования Arduino]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikihandbkcom:diff::1.12:old-25872:rev-4571481 --&gt;
&lt;/table&gt;</summary>
		<author><name>Myagkij</name></author>
	</entry>
	<entry>
		<id>http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/ShftIn14&amp;diff=25872&amp;oldid=prev</id>
		<title>Myagkij в 18:43, 20 февраля 2017</title>
		<link rel="alternate" type="text/html" href="http://wikihandbk.com/ruwiki/index.php?title=Arduino:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B/ShftIn14&amp;diff=25872&amp;oldid=prev"/>
		<updated>2017-02-20T18:43:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Arduino панель перехода}}&lt;br /&gt;
{{Перевод от Сubewriter}}&lt;br /&gt;
{{Myagkij-редактор}}&lt;br /&gt;
&lt;br /&gt;
=Нажата ли кнопка?&amp;lt;ref&amp;gt;[https://www.arduino.cc/en/Tutorial/ShftIn14 www.arduino.cc - ShftIn14]&amp;lt;/ref&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
Это скетч для [[Arduino:Продукты/Продукты Arduino|платы Arduino]] и одного сдвигового регистра '''CD4021B'''. Он считывает данные с переключателей, подключенных к сдвиговому регистру, и определяет, находится ли заданная кнопка в состоянии '''«вкл»'''.&lt;br /&gt;
&lt;br /&gt;
==Код==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
//**************************************************************//&lt;br /&gt;
//  Название    : Нажата ли кнопка?                             //&lt;br /&gt;
//  Автор       : Кэрлин Мо                                     //&lt;br /&gt;
//  Дата        : 25 января 2007 года                           //&lt;br /&gt;
//  Версия      : 1.0                                           //&lt;br /&gt;
//  Примечания  : Скетч для использования со сдвиговым          //&lt;br /&gt;
//              : регистром CD4021B                             //&lt;br /&gt;
//**************************************************************//&lt;br /&gt;
&lt;br /&gt;
// задаем номера для интерфейсных контактов:&lt;br /&gt;
int latchPin = 8;&lt;br /&gt;
int dataPin = 9;&lt;br /&gt;
int clockPin = 7;&lt;br /&gt;
&lt;br /&gt;
// задаем переменные, которые будут хранить данные для &lt;br /&gt;
// сдвигового регистра; в целях отладки лучше начать &lt;br /&gt;
// со значений без «0»:  &lt;br /&gt;
byte switchVar1 = 72;  //01001000&lt;br /&gt;
&lt;br /&gt;
byte lowcBitNum = 7;&lt;br /&gt;
byte dBitNum = 6;&lt;br /&gt;
byte eBitNum = 5;&lt;br /&gt;
byte fBitNum = 4;&lt;br /&gt;
byte gBitNum = 3;&lt;br /&gt;
byte aBitNum = 2;&lt;br /&gt;
byte bBitNum = 1;&lt;br /&gt;
byte highcNum = 0;&lt;br /&gt;
&lt;br /&gt;
boolean dBit;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // запускаем последовательную коммуникацию:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  // задаем режимы для контактов:&lt;br /&gt;
  pinMode(latchPin, OUTPUT);&lt;br /&gt;
  pinMode(clockPin, OUTPUT); &lt;br /&gt;
  pinMode(dataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  // подаем импульс на контакт-защелку;&lt;br /&gt;
  // чтобы собрать параллельные данные, задаем ему значение «1»:&lt;br /&gt;
  digitalWrite(latchPin,1);&lt;br /&gt;
  // ждем:&lt;br /&gt;
  delayMicroseconds(20);&lt;br /&gt;
  // задаем ему «0», чтобы передать последовательные данные:&lt;br /&gt;
  digitalWrite(latchPin,0);&lt;br /&gt;
&lt;br /&gt;
  // пока сдвиговый регистр переключен в последовательный режим, &lt;br /&gt;
  // собираем все его данные в байт; сначала это делает регистр, &lt;br /&gt;
  // подключенный к чипу: &lt;br /&gt;
  switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
&lt;br /&gt;
  // показываем результат; если первый контакт получит значение HIGH, &lt;br /&gt;
  // то «0», стоящий в старшей части байта (7, 6, 5 и т.д.), &lt;br /&gt;
  // будет удален:&lt;br /&gt;
  Serial.println(switchVar1, BIN);&lt;br /&gt;
&lt;br /&gt;
// вы можете узнать состояние бита при помощи функции ниже, либо...&lt;br /&gt;
&lt;br /&gt;
// задаем переменную типа boolean:&lt;br /&gt;
dBit = getBit(switchVar1, dBitNum);&lt;br /&gt;
&lt;br /&gt;
  if (dBit) {&lt;br /&gt;
    Serial.println(&amp;quot;D&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
// проверяем правильность функции (новой переменной не требуется):&lt;br /&gt;
 if (getBit(switchVar1, aBitNum)) {&lt;br /&gt;
    Serial.println(&amp;quot;A&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
// пустое место:&lt;br /&gt;
Serial.println(&amp;quot;-------------------&amp;quot;);&lt;br /&gt;
// вставляем задержку, чтобы все как следует допечаталось:&lt;br /&gt;
delay(500);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//-----------------------------------------------конец главного цикла&lt;br /&gt;
&lt;br /&gt;
////////// ----------------------------------- функция shiftIn()&lt;br /&gt;
///// в качестве аргументов ей требуются лишь контакт для данных &lt;br /&gt;
///// и контакт-защелка; возвращает байт, у которого каждый бит &lt;br /&gt;
///// соответствует какому-либо контакту сдвигового регистра: &lt;br /&gt;
///// 7-ой бит – это 7-ой контакт, 0-ой бит – это 0-ой контакт&lt;br /&gt;
&lt;br /&gt;
byte shiftIn(int myDataPin, int myClockPin) { &lt;br /&gt;
&lt;br /&gt;
// аналог блока setup() внутри функции:&lt;br /&gt;
  int i;&lt;br /&gt;
  int temp = 0;&lt;br /&gt;
  int pinState;&lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
//8 раз подаем на тактовый контакт значение HIGH (0,..,7),&lt;br /&gt;
// т.е. при каждом прохождении цикла for(); &lt;br /&gt;
&lt;br /&gt;
// в начале каждого цикла мы задаем тактовому контакту значение LOW;&lt;br /&gt;
// это нужно для последующего перехода из LOW в HIGH, чтобы сдвиговый &lt;br /&gt;
// регистр поменял состояние на основе значения в следующем бите &lt;br /&gt;
// последовательного потока данных;&lt;br /&gt;
&lt;br /&gt;
// регистр передает информацию о контактах в порядке с 7-го по 0-ой,&lt;br /&gt;
// поэтому наша функция ведет отсчет в обратном порядке:&lt;br /&gt;
&lt;br /&gt;
  for (i=7; i&amp;gt;=0; i--)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(myClockPin, 0); &lt;br /&gt;
    delayMicroseconds(0.2);&lt;br /&gt;
    temp = digitalRead(myDataPin);&lt;br /&gt;
    if (temp) {&lt;br /&gt;
      pinState = 1;&lt;br /&gt;
      // несмотря ни на что, задаем биту значение «0»:&lt;br /&gt;
      myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      pinState = 0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // печатаем отладочную информацию (если отладка не нужна,&lt;br /&gt;
    // оставьте эти строчки закоментированными):&lt;br /&gt;
    //Serial.print(pinState);&lt;br /&gt;
    //Serial.print(&amp;quot;     &amp;quot;);&lt;br /&gt;
    //Serial.println (dataIn, BIN);&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 1);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  // печатаем пустое место, разделяющее проверочные данные: &lt;br /&gt;
  //Serial.println();&lt;br /&gt;
  //Serial.println(myDataIn, BIN);&lt;br /&gt;
  return myDataIn;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
////// ---------------------------------------- функция getBit()&lt;br /&gt;
boolean getBit(byte myVarIn, byte whatBit) {&lt;br /&gt;
  boolean bitState;&lt;br /&gt;
  bitState = myVarIn &amp;amp; (1 &amp;lt;&amp;lt; whatBit);&lt;br /&gt;
  return bitState;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////// маленькая дополнительная функция... &lt;br /&gt;
////// ---------------------------------------- функция setBit()&lt;br /&gt;
byte setBit(byte myVarIn, byte whatBit, boolean s) {&lt;br /&gt;
  boolean bitState;&lt;br /&gt;
  if (s) {&lt;br /&gt;
    myVarIn = myVarIn | (1 &amp;lt;&amp;lt; whatBit);&lt;br /&gt;
  } else {&lt;br /&gt;
    myVarIn = myVarIn &amp;amp; ~(1 &amp;lt;&amp;lt; whatBit);&lt;br /&gt;
  }&lt;br /&gt;
  return myVarIn;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= См.также=&lt;br /&gt;
&lt;br /&gt;
=Внешние ссылки=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[Категория:Пример]]&lt;br /&gt;
[[Категория:Примеры]]&lt;br /&gt;
[[Категория:Пример программирования Arduino]]&lt;br /&gt;
[[Категория:Примеры программирования Arduino]]&lt;/div&gt;</summary>
		<author><name>Myagkij</name></author>
	</entry>
</feed>