1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
|
|
1 | |
Как сохранить предыдущее значение переменной?07.04.2011, 21:06. Показов 18956. Ответов 12
Метки нет (Все метки)
Прошу подсказать как реализовать такой алгоритм
Есть переменная В и есть переменная А. Они хранят числа от 00 до FF. Хранить должны так В принимает текущее значение, А хранит предыдущее. Если значение не изменилось, то ничего не меняется. Какие будут соображения?
0
|
07.04.2011, 21:06 | |
Ответы с готовыми решениями:
12
Как сохранить значение переменной? Как сохранять предыдущее значение в с++ ? Как сохранить длину строки в переменной? Как сохранить float в переменной типа char? |
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
|
|
07.04.2011, 22:08 | 2 |
попробуй сделать массив, и настроить указатели на настоящий элемент и на преыдущий
1
|
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
|
|
07.04.2011, 22:13 | 3 |
0
|
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
|
|
07.04.2011, 23:04 [ТС] | 4 |
Идея понятна. Мне не ясно как сохранить предыдущий результат , что бы его не переписывали вновь пришедшие данные.
Вот в принципе что надо. Допустим 2 переменные B и A Переменная В в нее постоянно поступают данные. Скажем числа от 00 до FF Предположим поступило FF и В приняло это значение. Далее поступило AA - В приняло значение AA, а вот пременная A приняла предыдущее значение FF. Мне казалось что надо одновременно присвоить значение обоим переменным а потом по какому то условию их обновлять, думаю что есть какой то стандартный алгорим типа организации цикла. Но ... Не хватает опыта как это сделать. Каким то образом заполнять массив?, но он заполнится, а обнулять его нельзя т.к. поток данных прерыватся не должен, короче как то хожу по кругу. Добавлено через 4 минуты И не лень Вам. Я же просто попросил помочь, т.к. своих идей нет.
0
|
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
|
|||||||||||||||||||||
07.04.2011, 23:11 | 5 | ||||||||||||||||||||
ну вот допустим пришло FF
сохраняем то что было в b в a
первая итерация
вторая итерация
1
|
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
|
|
07.04.2011, 23:16 [ТС] | 6 |
Зациклить это интересно, попробую что то сделать. А каким должно быть условие выхода из цикла? Ведь если данные совпадут, например придут значения одинаковые. Я из этого цикла не выйду никогда. Или я чего то не понимаю.
0
|
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
|
|
07.04.2011, 23:20 | 7 |
а каким образом приходят данные?
это отдельный поток?
0
|
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
|
|
07.04.2011, 23:57 [ТС] | 8 |
Считываются с ноги микроконтроллера в переменную. 1 байт на одно число. И дело в том, что на эту ногу приходят и команды считывания. И без этого шага считываюся сами команды, а не состояние устройства. Вот я и уткнулся. Сперва в какие то условия, но Вы подсказали дельную вещь - последовательно выполнять команды как в Бейсике. Короче пока пробую. Спасибо.
Добавлено через 25 минут Нет не работает, мне нужно еще подумать. Т.е присвоение предыдущего значения происходит но... вылезла другая проблема. Приходят данные , попадают в В. В А хранится предыдущее значение. Все ок. Приходит команда считывания состояния и попадает в B ( т.е. ее значение ) а в ответ посылаетеся предыдущее значение состояния хранящееся в А . Тоже все ок, но приходит опять команда на считывание и считывает предыдущую команду считывания, а должна состояния. Так что нужна проверка , я так думаю, что если идет цепочка одинаковых данных, то А менятся не должна. Так что пока до завтра. Спасибо за поддержку.
0
|
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
|
||||||
08.04.2011, 00:10 | 9 | |||||
есть такой вариант,создать переменную c, следящую за изменениями в б
1
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
08.04.2011, 01:43 | 10 | |||||
nsl, в *NIX системах можно так сделать: открывается на чтение файл устройства и с помощью select() или poll() периодически опрашивается на предмет доступных данных. Если они есть,
0
|
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
|
|
08.04.2011, 19:54 [ТС] | 11 |
Вот! Похоже что именно то что надо. К обеду буду знать результаты, заработает ли устройство. Именно, чем то надо отслеживать. В данном случае переменная и условие. Должно, просто обязано сработать.
Добавлено через 10 часов 2 минуты Не работает - нужны начальные значения , а откуда их взять , что бы не нарушить конструкцию ума не приложу. Хоть ставь условием перебор команд что ли.
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
08.04.2011, 20:47 | 12 |
nsl, напишите подробнее, как в переменную b данные попадают.
0
|
1 / 1 / 0
Регистрация: 28.03.2011
Сообщений: 22
|
|
09.04.2011, 14:41 [ТС] | 13 |
Спасибо за поддержку. Но мой подход, отлова предыдущего значения неправилен. Так что все получается с отловом переменой, но устройство не работаеет из-за неправильного алгоритма разработанного мной. Т.ч. буду искать другой подход.
А данные поступают последовательно на ногу МК, считываются, поступают и команды и данные. Это эмулятор 1-wire устройства. Т.ч. буду анализировать состояние ног, и на этом строить дальнейший алгоритм.
0
|
09.04.2011, 14:41 | |
09.04.2011, 14:41 | |
Помогаю со студенческими работами здесь
13
Как сохранить значение? Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С Как сохранить полученное значение в массиве Как ограничить значение переменной? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |