Очистка переменной.

Ответить
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

Очистка переменной.

Сообщение Max »

Как принудительно очистить переменную (обнулить) через определенное время после того, как в нее записались какие нибудь данные?
Например, переменная string по команде на входе "Вход разрешения записи" записались данные. Потом через некоторое время надо её очистить (по времени, или по команде). И в следующий раз опять при поступлении нужных данных опять записать.
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

Очистка переменной.

Сообщение OlegAn1962 »

Так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06 сен 2015, 07:09
Откуда: Курган

Очистка переменной.

Сообщение Oleg1345140 »

OlegAn1962 писал(а):Так?
А что подаете на строковый вход второй переменной?
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

Очистка переменной.

Сообщение OlegAn1962 »

Пробел
Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06 сен 2015, 07:09
Откуда: Курган

Очистка переменной.

Сообщение Oleg1345140 »

OlegAn1962 писал(а):Пробел
Я не до конца уверен что именно имел введу автор вопроса про очистить переменную, но я думаю что смысл был именно в том что бы в переменную ничего не было записано, совсем ничего. Я сталкивался с подобным в одном из своих проектов. Суть была в том что некое значение вводится с клавиатуры в ПУСТУЮ переменную и программа начинает работать с данным значением. Программа отрабатывала до логического конца и все было верно. Если после этого с клавиатуры ввести любое другое значение программа не работала. Даже если я обнулял все переменные (именно обнулял, а не очищал) и сбрасывал значения всего что можно было (счетчиков, триггеров, переключателей). Программа начинала работать корректно в том случае если я перезагружал устройство. По этой причине считаю запись "невидимого" символа не достаточным для очистки переменной.
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

Очистка переменной.

Сообщение Max »

Oleg1345140 писал(а):Я не до конца уверен что именно имел введу автор вопроса про очистить переменную,
На самом деле логика такова: в переменную string из UART записывается по команде значение (цифры, символы нет разницы) и через какое то время, например 50-100 мсек (время выставляется в зависимости от задачи и оно может быть разным), как переменная отработала (например мы сравнили её с каким то значением) после этого в неё АВТОМАТИЧЕСКИ записывался ноль, для приема в эту же переменную другого значения опять же из UARTа.
Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06 сен 2015, 07:09
Откуда: Курган

Очистка переменной.

Сообщение Oleg1345140 »

Max писал(а):На самом деле логика такова: в переменную string из UART записывается по команде значение (цифры, символы нет разницы) и через какое то время, например 50-100 мсек (время выставляется в зависимости от задачи и оно может быть разным), как переменная отработала (например мы сравнили её с каким то значением) после этого в неё АВТОМАТИЧЕСКИ записывался ноль, для приема в эту же переменную другого значения опять же из UARTа.
Именно НОЛЬ или пустота? Ноль ведь тоже символ?
Аватара пользователя
rw6cm
Полковник
Сообщения: 2299
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир

Очистка переменной.

Сообщение rw6cm »

Max писал(а):из UART записывается по команде значение
Так и берите эту команду на запись, а на стирание или команда или таймер.
Win10-64, FLProg (portable)
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

Очистка переменной.

Сообщение Max »

Oleg1345140 писал(а):Именно НОЛЬ или пустота? Ноль ведь тоже символ?
 Можно и ноль.

Получается так. получил, сравнил, ноль, получил, сравнил, ноль..... Самое главное, что бы после приема и использования данных переменной там оставался ноль.
Последний раз редактировалось Max 29 окт 2015, 15:03, всего редактировалось 1 раз.
Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06 сен 2015, 07:09
Откуда: Курган

Очистка переменной.

Сообщение Oleg1345140 »

Max писал(а):Получается так. получил, сравнил, ноль, получил, сравнил, ноль..... Самое главное, что бы после приема и использования данных переменной там оставался ноль.
Тогда бери совет
rw6cm писал(а):Так и берите эту команду на запись, а на стирание или команда или таймер.
и добавляй условия по "И" или по таймеру (смотря какая задача).
Аватара пользователя
AlexSar
Рядовой
Сообщения: 8
Зарегистрирован: 23 мар 2016, 17:53

Очистка переменной.

Сообщение AlexSar »

Max писал(а):Как принудительно очистить переменную (обнулить) через определенное время после того, как в нее записались какие нибудь данные?Например, переменная string по команде на входе "Вход разрешения записи" записались данные. Потом через некоторое время надо её очистить (по времени, или по команде). И в следующий раз опять при поступлении нужных данных опять записать.
Если данная тема еще актуальна.
Мне понадобилось через COM-порт от компьютера из файла программы LabVIEW передавать на плату Arduino данные и счтитывать их в виде строки. Проблема решилась в итоге с помощью пользовательского блока (code). Блок распознает передаваемые данные, по символу окончания строки очищает её и формирует на своем выходе строку с идентификатором начала строки. Блок достаточно прост, если возникнет необходимость либо затруднения в его написании - могу выложить.
Ответить

Вернуться в «переменные»

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

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