Serial.write(ValBIN)

noxic
Offline
Зарегистрирован: 15.03.2013

как послать Serial.write(VarBIN) 

делаю так Serial.write(B01110100); все работает

Но как сформировать B01110100 из отдельных битов?

Geronimo
Offline
Зарегистрирован: 06.05.2013

Операция или плюс сдвиг

 

поставить 5-тый бит:

 

val |= (1<<5);

noxic
Offline
Зарегистрирован: 15.03.2013

Geronimo пишет:

Операция или плюс сдвиг

 

поставить 5-тый бит:

 

val |= (1<<5);

можно подробнее?

Geronimo
Offline
Зарегистрирован: 06.05.2013

Операция сдвига(<<) сдвигает число на N позиций 

b00000001 <<  5 = b00010000 

иперация или( |) делает побитовое или

0|0=0

1|0=1

0|1=1

1|1=1

b00000101 | b 0001000 = 00010101

 

 

 

noxic
Offline
Зарегистрирован: 15.03.2013

Спасибо, разобрался

 int val=0;
 val |=(1<<7);
 val |=(1<<6);
 val |=(1<<5);
 val |=(1<<3);
Serial.write(val);
Lipt0n
Offline
Зарегистрирован: 04.11.2013
  • Serial.print(78, BIN) выводит  "1001110"

http://arduino.ru/Reference/Serial/Print

*Пардон, неправильно понял