Тип переменной

Разное поведение компаратора при разных переменных

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Тип переменной

#1

Сообщение JORA555 » 10.02.2018{, 13:53}

Уважаемые форумчане.
Написал программу с ИК управлением. Коды нажатия клавиш меняются, поэтому сделано сравнение команды ИК приемника и записанной команды из EEProm. Но одна из функций работает непонятно.

Вариант №1:
ИК приемник выдает сигнал типа "Long integer", код записанной команды "Long integer". Сравниваю компаратором на равенство. Работает корректно при коротком нажатии, но при удержании кнопки пульта, выход компаратора сбрасывается в "0" через 1-2 секунды.

Вариант №2:
Типы сигналов те же, только перед сравнением конвертирую сигналы в строку и сравниваю уже строки. При удержании кнопки сколько держишь кнопку, столько выход блока "сравнение строк" держится в состоянии "1".

В первом варианте скетч занимает на 12% меньше памяти контроллера, которая и так уже на пределе. Но долгое нажатие не отрабатывается.
Подскажите, в чем может быть причина.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Тип переменной

#2

Сообщение Sancho » 10.02.2018{, 14:17}

О пультах
А лучше оба варианта в студию - все экстрасенсы уволились
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Тип переменной

#3

Сообщение JORA555 » 10.02.2018{, 14:23}

Если дело в пульте, то почему при сравнении строк удержание кнопки отрабатывает корректно. Дело, как мне кажется, именно в алгоритме работы ардуино с переменными разных типов.
За статью спасибо, Ее бы пол года назад увидеть, многие бы вопросы отпали.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Тип переменной

#4

Сообщение Sancho » 10.02.2018{, 14:26}

JORA555 писал(а):
10.02.2018{, 14:23}
о почему при сравнении строк удержание кнопки отрабатывает корректно.
На этот вопрос я не могу ответить ввиду отсутствия файлов.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

JORA555
Рядовой
Сообщения: 37
Зарегистрирован: 16.02.2017{, 05:09}
Репутация: 0
Откуда: Барнаул

Тип переменной

#5

Сообщение JORA555 » 10.02.2018{, 18:44}

Дико извиняюсь, Sancho. Ссылку посмотрел, а о выкладывании плат забыл.
Суть проблемы можете увидеть на плате №1. Увы, другие платы пришлось удалить из-за большого размера файла (не прикреплялся во вложение), но они на работу оставшейся части программы не влияют.
Заранее благодарен за помощь.
Вложения
Сравнение строк.flp
(1.51 МБ) 49 скачиваний
Сравнение переменных.flp
(1.17 МБ) 52 скачивания

Ответить

Вернуться в «Спросить у знатоков»