перебор состояний выводов с помощью двоичного числа
- Войдите на сайт для отправки комментариев
Ср, 21/10/2015 - 20:24
Всем доброго дня, такой вопрос: нужно перебрать все сосотояния для 4 выводов Ардуино. Решил сделать это записывая биты как состояние вывода. Написал такой код, но почему-то на выводах упорно одни нули. Не могу понять в чем проблема.
byte massa = B0; const int buttonPin1 = 13; const int buttonPin2 = 12; const int buttonPin3 = 11; const int buttonPin4 = 10; unsigned long previousMillis ; void setup() { Serial.begin(9600); //монитор порта pinMode(buttonPin1, OUTPUT); pinMode(buttonPin2, OUTPUT); pinMode(buttonPin3, OUTPUT); pinMode(buttonPin4, OUTPUT); } void loop() { unsigned long currentMillis = millis(); if (currentMillis - previousMillis > 1000) { previousMillis = currentMillis; if ( massa <= B1111 ) { digitalWrite( buttonPin1, bitRead( massa , 0 )); digitalWrite( buttonPin2, bitRead( massa , 1 )); digitalWrite( buttonPin3, bitRead( massa , 2 )); digitalWrite( buttonPin4, bitRead( massa , 3 )); Serial.print(buttonState1); Serial.print(buttonState2); Serial.print(buttonState3); Serial.print(buttonState4); if ( massa == B1111 ) { massa = B0; } } } }
В строках 30 - 33 записано
а что нано-то ?
Дичайше прошу пардона, разобрался сам. Сколько раз уже было: сутки сижу ничего не получается, только создам тему и тут озарение.
так где рабочий код?