Помогите с Serial

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

Здравствуйте. В общем задача такая, я пишу в сериал порт цифру 5, и оно мне выводит туда же, цифру 5. Что я делаю не так?

void setup() {
  Serial.begin(9600);
}

void loop() {
  int response;
  if (Serial.available() > 0) 
  {
    byte query = Serial.read();
    if(query == response)
    {
      Serial.print(response);
    }
    }
  }

 

b707
Offline
Зарегистрирован: 26.05.2017

echo выключите

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

b707 пишет:

echo выключите

Какое echo?

b707
Offline
Зарегистрирован: 26.05.2017

Тот код, что вы запостили -  никогда ничего выводить не будет. Но чтобы это понять добавьте вывод в Сериал что-нибудь типа "Success!" в случае совпадения query и responce, и "Fail" в обратном случае.

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

b707 пишет:

Тот код, что вы запостили -  никогда ничего выводить не будет. Но чтобы это понять добавьте вывод в Сериал что-нибудь типа "Success!" в случае совпадения query и responce, и "Fail" в обратном случае.

Пишет Fail при вводе цифры.

void setup() {
  Serial.begin(9600);
}

void loop() {
  int response;
  if (Serial.available() > 0) 
  {
    byte query = Serial.read();
    if(query == response)
    {
      Serial.print(response);
      Serial.print("Success");
    } else {
      Serial.print("Fail");
    }
    }
  }

 

b707
Offline
Зарегистрирован: 26.05.2017

VaDoSiQ пишет:

Пишет Fail при вводе цифры.

так и должно быть. А вы что хотели?

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

b707 пишет:

VaDoSiQ пишет:

Пишет Fail при вводе цифры.

так и должно быть. А вы что хотели?

Я хочу чтобы когда я ввожу в сериал цифру 5, на монитор мне её выводило.

b707
Offline
Зарегистрирован: 26.05.2017

VaDoSiQ пишет:

Я хочу чтобы когда я ввожу в сериал цифру 5, на монитор мне её выводило.

Замечательно! А программа, по вашему, откуда это узнает? Вы ей о своем желании получить именно 5 где-нибудь в скетче указали?

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

b707 пишет:

VaDoSiQ пишет:

Я хочу чтобы когда я ввожу в сериал цифру 5, на монитор мне её выводило.

Замечательно! А программа, по вашему, откуда это узнает? Вы ей о своем желании получить именно 5 где-нибудь в скетче указали?

В том то и дело. Я не хочу указывать, мне нужно чтобы ввёл на клавиатуре, отправил и получил тот же ответ.

b707
Offline
Зарегистрирован: 26.05.2017

тогда зачем вам сравнивать query с responce - отправляйте назад query и все.

GarryC
Offline
Зарегистрирован: 08.08.2016

Напишите вместо
if (query == responce)
следующее
if (responce = query)
и будет Вам счастье

 

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

GarryC пишет:

Напишите вместо
if (query == responce)
следующее
if (responce = query)
и будет Вам счастье

 

Спасибо, но уже сам справился:)

void setup() {
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0) 
  {
    char query = Serial.read();
      Serial.print(query);
    }
  }