Странность вывода функции

NFS

✩✩✩✩✩✩✩
18 Фев 2021
4
0
В первом условии вывожу первой строкой значение переменной "in_data", а второй строкой текст и Данные которые непосредственно присваивал переменной.
Вопрос, почему при выводе ЗНАЧЕНИЯ ПЕРЕМЕННОЙ, все печатает правильно, а при выводе ЗНАЧЕНИЯ "Serial.parseInt", которое непосредственно равно тому что я ввожу ручками в порт, и что я собственно и присваиваю переменной...., почему когда я пытаюсь вывести именно "Serial.parseInt", он мне пишет "= 0" во второй строчке???
(после картинки вставил код текстом)

изображение_2021-08-30_155228.png

void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
int in_data = Serial.parseInt();
Serial.println(in_data);

if (in_data > 300 && in_data < 500) {
Serial.print("Ваше число в диапазоне от 300 до 500"); Serial.print("и равно = "); Serial.println(Serial.parseInt());
}
}
}
 

bort707

★★★★★★✩
21 Сен 2020
3,079
915
Функция "парсеинт" читает данные прямо из порта. Один раз она прочитала, вывела... А второй раз что вы от нее ждете? В порту больше ничего нет.
 
  • Лойс +1
Реакции: NFS

NFS

✩✩✩✩✩✩✩
18 Фев 2021
4
0
@bort707, Теперь понятно, мне просто казалось она хранит последнее значение. Я просто новичок в теме. Большое спасибо!