объеденить число

vorgen
Offline
Зарегистрирован: 16.10.2016

собственно проблема на лицо, не могу число в десятичном формате число, представить в бинарном виде и вывести его на экран в одну строку. Число передаваемое в порт например 12 будет отображено как 1 и 2 в бинарном представлении , а не как 12

int incomingByte = 0; 
void setup() {
        Serial.begin(9600);
		Serial.println("START MY PROGRAMM");  
}
void loop() {
        if (Serial.available() > 0) {
          code();
        }  
} 
void code(){   
        char incomingByte = Serial.read();
  		Serial.print(incomingByte,BIN); 
       Serial.println("\n"); 
     }

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

vorgen, изучите функцию Serial.parseInt(),  сильно облегчится жизнь :)

vorgen
Offline
Зарегистрирован: 16.10.2016

Спасибо за скорый ответ на мой вопрос, решил задачку, но как быть если я ввожу например число не целое, а присутствуют буквенные символы, скажем число в формате HEX, которое нужно перевести в бинарный вид, и почему  при введении числа 12, я получаю 1100, как получить отображение 00001100?

char val=0; 
void setup() {
        Serial.begin(9600);
		Serial.println("START MY PROGRAMM");  
}
void loop() {  
  if(Serial.available()){
  char val = Serial.parseInt();  
  Serial.print(val, BIN);
    Serial.println ("\n");
}     
}