Использование переменных

Вопросы программирования в системе Ардуино
Михаил_Я
Сообщения: 39
Зарегистрирован: 13 дек 2017, 23:18

Использование переменных

Сообщение Михаил_Я » 25 дек 2017, 23:21

Здравствуйте!
Разрабатываю термостат для электропечи. Температуру от 0 до 1200 градусов с шагом 5 градусов задаю энкодером (библиотека Encod_er).
Проблема в том, что, с одной стороны, для отображения задаваемой температуры (МАХ 1200) должна использоваться переменная "int", а с другой - при шаге 5 количество значений - 240, вполне хватило бы "byte".
Вопрос - что целесообразней:
1. Использовать "int".
2. Использовать "byte", но при каждой операции (сравнение с фактической температурой и отображение на дисплее) умножать на 5.
3. Другой вариант, которого я не знаю.


Эдуард
Администратор
Сообщения: 484
Зарегистрирован: 30 окт 2016, 20:53

Re: Использование переменных

Сообщение Эдуард » 25 дек 2017, 23:34

Здравствуйте!
Конечно, использовать int. Умножение займет намного больше времени. К тому же вариант с типом byte усложнит алгоритм программы. Ресурсов платы Ардуино вполне достаточно для вашей задачи.

Михаил_Я
Сообщения: 39
Зарегистрирован: 13 дек 2017, 23:18

Re: Использование переменных

Сообщение Михаил_Я » 25 дек 2017, 23:53

Спасибо огромное!
И,если можно, ещё один вопрос:
в ответе на первый комментарий к уроку 55 (энкодер) Вы объяснили, как ограничить значение переменной. Но я не понял, в какой раздел скетча вставить этот код - в основной цикл или в "void timerInterrupt()"?

Эдуард
Администратор
Сообщения: 484
Зарегистрирован: 30 окт 2016, 20:53

Re: Использование переменных

Сообщение Эдуард » 26 дек 2017, 00:00

Лучше в обработчик прерывания после функции scanState(). Ведь в ней изменяется переменная position, которую вам надо ограничить. В этом случае нет необходимости запрещать прерывание.


Вернуться в «Программирование Ардуино»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя