перебор состояний выводов с помощью двоичного числа
- Войдите на сайт для отправки комментариев
Ср, 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 записано
а что нано-то ?
Дичайше прошу пардона, разобрался сам. Сколько раз уже было: сутки сижу ничего не получается, только создам тему и тут озарение.
так где рабочий код?