В чем ошибка, объясните плз.
- Войдите на сайт для отправки комментариев
Чт, 08/12/2016 - 15:46
здравствуйте, начал изучать программирование, написал первую програмку, но она неккоректно работает. Выводит какую то дичь. Ввожу 10 выводит
Temperature Cels:49
Tempeature Fahrenheit:424
Temperature Cels:48
Temperature Fahrenheit:416
Вводим 5 - выводит:
Temperature Cels:53
Temperature Fahrenheit:456
В чем может быть причина(числа брал от болды)?
int cels; int far; void setup() { Serial.begin (9600); } void loop () { if (Serial.available() > 0){ cels = Serial.read(); if (cels >= -1000 && cels <=1000) { far = (1,8*cels+32); Serial.print ("Temperature Cels:"); Serial.print (cels, DEC); Serial.println(""); Serial.print ("Temperature Fahrenheit:"); Serial.print (far); Serial.println (""); } else{ Serial.print("Error"); } } }
Посмотрите соседнию тему http://arduino.ru/forum/programmirovanie/serialread-v-arduino
1.8 написано, как 1,8. Родной язык - Exel? ;)
Ок,загляну. Благодарю
1.8 написано, как 1,8. Родной язык - Exel? ;)
Да ( спасибо что поправили
В чем может быть причина(числа брал от болды)?
Причина чего? Того, что правильно работает? Она ж вроде всё правильно выводит по Цельсию, что Вам не нравится? По Фаренгейту, замените запятую на точку, а по Цельсию всё правильно.
Ввожу 10 выводит
Temperature Cels:49
Tempeature Fahrenheit:424
49 - это ASCII код единицы
48 - нуля
53 - пятёрки
У Вас лёгкая путаница образовалась с интерпретацией принимаемых из Serial данных. По ссылке, данной выше, есть ответ, что надо изменить (подсказка: строка 9 в скетче по ссылке).
Причина чего? Того, что правильно работает? Она ж вроде всё правильно выводит по Цельсию, что Вам не нравится? По Фаренгейту, замените запятую на точку, а по Цельсию всё правильно.
Кто-то взломал учётку ЕвгенийП ?!
Кто-то взломал учётку ЕвгенийП ?!
Не, знаю, может и взломал, но то, что Вы цитировали, я писал.
А Вы не согласны? Правильно ведь всё работает. Что передают, то и печатает. Вы и сами это написали. :)
Кстати, зацените вот это. Можно сказать, крик души написал, а никто не ругает и не спорит - всем пофигу :(((( Пошёл водку жрать с горя :)
Да это так, шутка как бы...
Крик души - прекрасен, но, боюсь, не всем (мне в том числе) до конца понятен.
Ввожу 10 выводит
Temperature Cels:49
Tempeature Fahrenheit:424
49 - это ASCII код единицы
48 - нуля
53 - пятёрки
У Вас лёгкая путаница образовалась с интерпретацией принимаемых из Serial данных. По ссылке, данной выше, есть ответ, что надо изменить (подсказка: строка 9 в скетче по ссылке).
понял ошибку, спасибо большое за разъяснения)