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

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

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

#1

Сообщение Max » 28.10.2015{, 21:25}

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

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#2

Сообщение OlegAn1962 » 28.10.2015{, 22:29}

Так?
Вложения
4664419.png

Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06.09.2015{, 07:09}
Репутация: 1
Откуда: Курган

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

#3

Сообщение Oleg1345140 » 29.10.2015{, 12:10}

OlegAn1962 писал(а):Так?
А что подаете на строковый вход второй переменной?

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#4

Сообщение OlegAn1962 » 29.10.2015{, 12:37}

Пробел

Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06.09.2015{, 07:09}
Репутация: 1
Откуда: Курган

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

#5

Сообщение Oleg1345140 » 29.10.2015{, 13:37}

OlegAn1962 писал(а):Пробел
Я не до конца уверен что именно имел введу автор вопроса про очистить переменную, но я думаю что смысл был именно в том что бы в переменную ничего не было записано, совсем ничего. Я сталкивался с подобным в одном из своих проектов. Суть была в том что некое значение вводится с клавиатуры в ПУСТУЮ переменную и программа начинает работать с данным значением. Программа отрабатывала до логического конца и все было верно. Если после этого с клавиатуры ввести любое другое значение программа не работала. Даже если я обнулял все переменные (именно обнулял, а не очищал) и сбрасывал значения всего что можно было (счетчиков, триггеров, переключателей). Программа начинала работать корректно в том случае если я перезагружал устройство. По этой причине считаю запись "невидимого" символа не достаточным для очистки переменной.

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

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

#6

Сообщение Max » 29.10.2015{, 14:53}

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

Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06.09.2015{, 07:09}
Репутация: 1
Откуда: Курган

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

#7

Сообщение Oleg1345140 » 29.10.2015{, 14:57}

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

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#8

Сообщение rw6cm » 29.10.2015{, 15:00}

Max писал(а):из UART записывается по команде значение
Так и берите эту команду на запись, а на стирание или команда или таймер.
Win10-64, FLProg (portable)

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

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

#9

Сообщение Max » 29.10.2015{, 15:00}

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

Получается так. получил, сравнил, ноль, получил, сравнил, ноль..... Самое главное, что бы после приема и использования данных переменной там оставался ноль.
Последний раз редактировалось Max 29.10.2015{, 15:03}, всего редактировалось 1 раз.

Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06.09.2015{, 07:09}
Репутация: 1
Откуда: Курган

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

#10

Сообщение Oleg1345140 » 29.10.2015{, 15:09}

Max писал(а):Получается так. получил, сравнил, ноль, получил, сравнил, ноль..... Самое главное, что бы после приема и использования данных переменной там оставался ноль.
Тогда бери совет
rw6cm писал(а):Так и берите эту команду на запись, а на стирание или команда или таймер.
и добавляй условия по "И" или по таймеру (смотря какая задача).

Аватара пользователя
AlexSar
Рядовой
Сообщения: 8
Зарегистрирован: 23.03.2016{, 17:53}
Репутация: 0

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

#11

Сообщение AlexSar » 22.07.2016{, 21:33}

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

Ответить

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