Arduino firmata

echech
Offline
Зарегистрирован: 28.11.2014
Добрый вечер!
Помогите разобраться.
Как мне в :
void analogWriteCallback(byte pin, int reg)
{

}

 

 
byte pin разбить на массив int?
Моя задача:
С компа вызываю "analogWriteCallback(10010110, 0);" и первый аргумент разложить на массив 1 и 0, для дальнейшей установки этих "битов" на 8 пинов.
Пример:
void analogWriteCallback(byte pin, int reg)
{
Каким-то образом получаю pin[];
for(i = 0; i <= 8; i++){
if(pin[i]) == 1{
digitalWrite(i, HIGH);
}
else{
digitalWrite(i, LOW);
}
}

}

 

 

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Может проще работать с портом, а не отдельными пинами?

хотя если хотите потормознее можете использовать

if(bitRead(pin, i) == 1){....}

 

echech
Offline
Зарегистрирован: 28.11.2014

Спасибо! Буду читать.