Получение данных из com-порта

sava
Offline
Зарегистрирован: 07.07.2016

Отправляю 1 из om-порта в ардуино а обратно получаю 49 как мне получать то что отправляю?

if(Serial.available()>0){
 i=Serial.read();
Serial.println(i);

 

Araris
Offline
Зарегистрирован: 09.11.2012

А если пошлёте 2 - получите 50, 3 - 51. Какого типа переменная i ?

int incomingByte = 0;   // для хранения полученного байта
 
void setup() {
    Serial.begin(9600); // устанавливаем последовательное соединение
}
 
void loop() {
    if (Serial.available() > 0) {  //если есть доступные данные
        // считываем байт
        incomingByte = Serial.read();
 
        // отсылаем то, что получили
        Serial.print("I received: ");
        Serial.println(incomingByte, DEC);
    }
}

 

uni
uni аватар
Offline
Зарегистрирован: 24.09.2015

А если так: Serial.println( (char) i ) ) ?

sava
Offline
Зарегистрирован: 07.07.2016

переменная тип int

 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

sava пишет:

Отправляю 1 из om-порта в ардуино а обратно получаю 49 как мне получать то что отправляю?

if(Serial.available()>0){
 i=Serial.read();
Serial.println(i);

 

if (Serial.available()) {Serial.write(Serial.read());

 

sava
Offline
Зарегистрирован: 07.07.2016

так работает но число разбивается на байты и обратно возвращается как отдельные цифры, например 123 вернется 

1

2

3

сейчас попробую 

Serial.parseInt()

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

sava пишет:

так работает но число разбивается на байты и обратно возвращается как отдельные цифры, например 123 вернется 

1

2

3

ню-ню... а, перевод на новую строку после каждой цифры рисует злой демон

sava
Offline
Зарегистрирован: 07.07.2016

как можно написать что если с ком порта пришла единица тогда на пин подать +5в

делаю вот так не получается

if(Serial.available()>0){
 i=Serial.read();


   if(i==1) {
    digitalWrite(13,HIGH);
   }
   else{
       digitalWrite(13,LOW);
   }
   }

 

__Alexander
Offline
Зарегистрирован: 24.10.2012

if(i=='1')

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

if(i=='1') {

sava
Offline
Зарегистрирован: 07.07.2016

Спасибо))