FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Понедельник, 23.10.2017, 14:45
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Очистка переменной.
Очистка переменной.
Max Дата: Среда, 28.10.2015, 21:25 | Сообщение # 1
Гуру
Группа: Проверенные
Сообщений: 588
Награды: 15
Репутация: 4
Статус: Offline
Как принудительно очистить переменную (обнулить) через определенное время после того, как в нее записались какие нибудь данные?
Например, переменная string по команде на входе "Вход разрешения записи" записались данные. Потом через некоторое время надо её очистить (по времени, или по команде). И в следующий раз опять при поступлении нужных данных опять записать.
 
OlegAn1962 Дата: Среда, 28.10.2015, 22:29 | Сообщение # 2
Полковник
Группа: Проверенные
Сообщений: 365
Награды: 4
Репутация: 0
Статус: Offline
Так?
Прикрепления: 4664419.png(4Kb)
 
Oleg1345140 Дата: Четверг, 29.10.2015, 12:10 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 426
Награды: 2
Репутация: 6
Статус: Offline
Цитата OlegAn1962 ()
Так?
А что подаете на строковый вход второй переменной?
 
OlegAn1962 Дата: Четверг, 29.10.2015, 12:37 | Сообщение # 4
Полковник
Группа: Проверенные
Сообщений: 365
Награды: 4
Репутация: 0
Статус: Offline
Пробел
 
Oleg1345140 Дата: Четверг, 29.10.2015, 13:37 | Сообщение # 5
Полковник
Группа: Проверенные
Сообщений: 426
Награды: 2
Репутация: 6
Статус: Offline
Цитата OlegAn1962 ()
Пробел
Я не до конца уверен что именно имел введу автор вопроса про очистить переменную, но я думаю что смысл был именно в том что бы в переменную ничего не было записано, совсем ничего. Я сталкивался с подобным в одном из своих проектов. Суть была в том что некое значение вводится с клавиатуры в ПУСТУЮ переменную и программа начинает работать с данным значением. Программа отрабатывала до логического конца и все было верно. Если после этого с клавиатуры ввести любое другое значение программа не работала. Даже если я обнулял все переменные (именно обнулял, а не очищал) и сбрасывал значения всего что можно было (счетчиков, триггеров, переключателей). Программа начинала работать корректно в том случае если я перезагружал устройство. По этой причине считаю запись "невидимого" символа не достаточным для очистки переменной.
 
Max Дата: Четверг, 29.10.2015, 14:53 | Сообщение # 6
Гуру
Группа: Проверенные
Сообщений: 588
Награды: 15
Репутация: 4
Статус: Offline
Цитата Oleg1345140 ()
Я не до конца уверен что именно имел введу автор вопроса про очистить переменную,

На самом деле логика такова: в переменную string из UART записывается по команде значение (цифры, символы нет разницы) и через какое то время, например 50-100 мсек (время выставляется в зависимости от задачи и оно может быть разным), как переменная отработала (например мы сравнили её с каким то значением) после этого в неё АВТОМАТИЧЕСКИ записывался ноль, для приема в эту же переменную другого значения опять же из UARTа.
 
Oleg1345140 Дата: Четверг, 29.10.2015, 14:57 | Сообщение # 7
Полковник
Группа: Проверенные
Сообщений: 426
Награды: 2
Репутация: 6
Статус: Offline
Цитата Max ()
На самом деле логика такова: в переменную string из UART записывается по команде значение (цифры, символы нет разницы) и через какое то время, например 50-100 мсек (время выставляется в зависимости от задачи и оно может быть разным), как переменная отработала (например мы сравнили её с каким то значением) после этого в неё АВТОМАТИЧЕСКИ записывался ноль, для приема в эту же переменную другого значения опять же из UARTа.
Именно НОЛЬ или пустота? Ноль ведь тоже символ?
 
rw6cm Дата: Четверг, 29.10.2015, 15:00 | Сообщение # 8
Генерал-лейтенант
Группа: Проверенные
Сообщений: 921
Награды: 83
Репутация: 66
Статус: Offline
Цитата Max ()
из UART записывается по команде значение

Так и берите эту команду на запись, а на стирание или команда или таймер.


Win7-32, FLProg (portable)
 
Max Дата: Четверг, 29.10.2015, 15:00 | Сообщение # 9
Гуру
Группа: Проверенные
Сообщений: 588
Награды: 15
Репутация: 4
Статус: Offline
Цитата Oleg1345140 ()
Именно НОЛЬ или пустота? Ноль ведь тоже символ?
 Можно и ноль.

Получается так. получил, сравнил, ноль, получил, сравнил, ноль..... Самое главное, что бы после приема и использования данных переменной там оставался ноль.


Сообщение отредактировал Max - Четверг, 29.10.2015, 15:03
 
Oleg1345140 Дата: Четверг, 29.10.2015, 15:09 | Сообщение # 10
Полковник
Группа: Проверенные
Сообщений: 426
Награды: 2
Репутация: 6
Статус: Offline
Цитата Max ()
Получается так. получил, сравнил, ноль, получил, сравнил, ноль..... Самое главное, что бы после приема и использования данных переменной там оставался ноль.
Тогда бери совет
Цитата rw6cm ()
Так и берите эту команду на запись, а на стирание или команда или таймер.
и добавляй условия по "И" или по таймеру (смотря какая задача).
 
AlexSar Дата: Пятница, 22.07.2016, 21:33 | Сообщение # 11
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Цитата Max ()
Как принудительно очистить переменную (обнулить) через определенное время после того, как в нее записались какие нибудь данные?Например, переменная string по команде на входе "Вход разрешения записи" записались данные. Потом через некоторое время надо её очистить (по времени, или по команде). И в следующий раз опять при поступлении нужных данных опять записать.

Если данная тема еще актуальна.
Мне понадобилось через COM-порт от компьютера из файла программы LabVIEW передавать на плату Arduino данные и счтитывать их в виде строки. Проблема решилась в итоге с помощью пользовательского блока (code). Блок распознает передаваемые данные, по символу окончания строки очищает её и формирует на своем выходе строку с идентификатором начала строки. Блок достаточно прост, если возникнет необходимость либо затруднения в его написании - могу выложить.
 
Форум » Основной » Спросить у знатоков » Очистка переменной.
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика