Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

Ответ
 
Опции темы Опции просмотра
Старый 07.04.2017, 11:08   #51
siargy
Senior Member
 
Аватар для siargy
 
Регистрация: 03.07.2007
Адрес: Минск
Возраст: 37
Сообщений: 794
Вес репутации: 1121/56
siargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud of
По умолчанию Re: Запись/чтение EEPROM на ассемблере

забавно сравнить сообщения 44 и 50 :-)

просто сумма всех сохраняемых переменных.

могу предложить еще один вариант - некий диапазон памяти затирается и потом с конца записывается значение в последнюю свободную ячейку, когда все ячейки заняты, снова затереть.
__________________
Построил тепличку, посеял литопсы, вырастил кактусы
siargy вне форума   Ответить с цитированием
Старый 07.04.2017, 17:32   #52
gen22
Member
 
Аватар для gen22
 
Регистрация: 09.03.2009
Возраст: 66
Сообщений: 99
Вес репутации: 124/33
gen22 will become famous soon enoughgen22 will become famous soon enough
По умолчанию Re: Запись/чтение EEPROM на ассемблере

Цитата:
Сообщение от siargy Посмотреть сообщение
забавно сравнить сообщения 44 и 50 :-)
Я поначалу думал: коли не изменяется значение записываемого параметра' значит ячейка не переписывается' но похоже она переписывается' а значит и ресурс уменьшается' а он не бесконечен.
__________________
Дни проведенные на рыбалке, в счет жизни не засчитывается.
gen22 вне форума   Ответить с цитированием
Старый 08.04.2017, 07:43   #53
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Istanbul/Marmaris
Возраст: 58
Сообщений: 2,069
Вес репутации: 2636/83
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Запись/чтение EEPROM на ассемблере

У меня есть устройство, где тоже нужно сохранять значение регулятора в EEPROM. Я это делаю через 2...3 сек таймаута за последним изменением регулятора. Скажем, крутим энкодер регулировки и новые значения сыплются непрерывным потоком - сохранения нет, но флаг требования сохранения установлен, программный таймер сбрасывается в ноль каждым событием регулировки. Как только изменения прекратились программный таймер успевает за 2...3 секунды досчитать до некоей константы и происходит сохранение. С учетом ресурса EEPROM в 1 млн. записей (программный флеш в 100 раз менее надежен) такой способ даже при специальных издевательствах даст 2...3 млн секунд ресурса. Это примерно 1 месяц непрерывных циклов изменение-2...3 сек.пауза. Думаю, что такого ресурса хватит лет на 10.
Марк вне форума   Ответить с цитированием
Старый 08.04.2017, 09:30   #54
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,412
Вес репутации: 2927/62
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Запись/чтение EEPROM на ассемблере

не знаю. всегда делал секцию, данные в которой имеют резервирование.
при старте данные из flash/eeprom попадают в ram, где с ними возможна работа, при завершении данные из ram пишутся обратно во flash/eeprom.

такой подход хоть и ведет к некоторому удорожанию устройства(тратится и flash/eeprom и ram), однако крайне прост в реализации.
besogon вне форума   Ответить с цитированием
Старый 12.04.2017, 17:56   #55
gen22
Member
 
Аватар для gen22
 
Регистрация: 09.03.2009
Возраст: 66
Сообщений: 99
Вес репутации: 124/33
gen22 will become famous soon enoughgen22 will become famous soon enough
По умолчанию Re: Запись/чтение EEPROM на ассемблере

besogon,
Мне кажется я смогу осуществить этот алгоритм. Спасибо.
__________________
Дни проведенные на рыбалке, в счет жизни не засчитывается.
gen22 вне форума   Ответить с цитированием
Старый 14.04.2017, 09:15   #56
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Запись/чтение EEPROM на ассемблере

Цитата:
Сообщение от gen22 Посмотреть сообщение
Что такое контрольная сумма?
Можете краткий пример,чтоб я понял, но на асме?
А то я чувствую EEPROM в моем процессоре скоро концы отдаст!
"
- а что это за графа в счете "прокатило 10 000"?
- не прокатило - вычеркиваем :-(
"

Последний раз с Асмом для ПИКов имел дело 10 лет назад.
Про контрольную сумму можно почитать здесь. Алгоритмов много, какой нужен Вам - можете сказать только Вы.
Условно:
есть массив данных, который нужно записать.
Суммируете все данные подряд и в конце записи записываете эту сумму. Вот она и будет контрольной.
При чтении - опять суммируете и проверяете с той, которая лежит в еепроме в конце массива. Если совпала - значит данные верны (с какой-то вероятностью), если не совпала - значит где-то битые данные и их лучше заменить на значения по умолчанию.


А вообще какие данные в ЕЕПРОМ пишите, и как часто?
Может и заморачиваться не стоит? Или хранить одно и тоже значение несколько раз. Если один байт - можно хранить инверсное значение.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 14.04.2017, 09:22   #57
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Запись/чтение EEPROM на ассемблере

Перечитал тему:
1. сезон зимней рыбалки уже закончился, выход на лет уже запрещен.

2. Вам нужно хранить номер режима. А это одна ячейка. Алгоритм уже рассказывал : нажали на кнопку - записали. Нет нажатия - нет записи. Причем отлавливать именно нажатие или отпускание, а не уровень. Чтобы не было ситуации: кнопка нажата, и в ячейку постоянно пишем одно и тоже число. А вообще можно отслеживать изменение режима и обновлять если тот поменялся.

3. Не важно что пишется в ЕЕПРОМ, ячейка перед записью ВСЕГДА стирается, и происходит полноценная перезапись содержимого. Поэтому за изменением данных нужно следить автору программы. Но если следовать пункту 2 - можно не заморачиваться.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 14.04.2017, 20:11   #58
siargy
Senior Member
 
Аватар для siargy
 
Регистрация: 03.07.2007
Адрес: Минск
Возраст: 37
Сообщений: 794
Вес репутации: 1121/56
siargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud of
По умолчанию Re: Запись/чтение EEPROM на ассемблере

2- неверное решение, вышке ужэ обсуждалось почему и предлагались оптимальные алгоритмы
__________________
Построил тепличку, посеял литопсы, вырастил кактусы
siargy вне форума   Ответить с цитированием
Старый 16.04.2017, 03:16   #59
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Запись/чтение EEPROM на ассемблере

Цитата:
Сообщение от siargy Посмотреть сообщение
2- неверное решение, вышке ужэ обсуждалось почему и предлагались оптимальные алгоритмы
Я не вижу, с кем и что Вы обсуждали, это сообщение от Вас было вторым в топике из 60 сообщений.
2е решение - это кому Вы отвечали?

На Вашем месте я не был бы столь категоричен, если Вы перечитаете ветку и ознакомитесь с "проблемой" решаемой топик-стартером, Вы свое мнение поменяете. ИМХО.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Старый 16.04.2017, 16:40   #60
siargy
Senior Member
 
Аватар для siargy
 
Регистрация: 03.07.2007
Адрес: Минск
Возраст: 37
Сообщений: 794
Вес репутации: 1121/56
siargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud ofsiargy has much to be proud of
По умолчанию Re: Запись/чтение EEPROM на ассемблере

сообщение #37, что-то обсуждение пошло по второму кругу
__________________
Построил тепличку, посеял литопсы, вырастил кактусы
siargy вне форума   Ответить с цитированием
Старый 17.04.2017, 17:10   #61
IceS
Super Moderator
 
Регистрация: 01.03.2007
Адрес: St. Petersburg
Возраст: 38
Сообщений: 3,249
Вес репутации: 3684/107
IceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond reputeIceS has a reputation beyond repute
Отправить сообщение для IceS с помощью ICQ
По умолчанию Re: Запись/чтение EEPROM на ассемблере

Цитата:
Сообщение от siargy Посмотреть сообщение
сообщение #37, что-то обсуждение пошло по второму кругу
мдя... дэжавю.
__________________
- Готово, мастер !!!
- Что готово ???
- Сломал ...
IceS вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многофункциональные часы. Н.Заяц.Книга 4. samko Вопросы начинающих 11 12.06.2012 09:26
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14
Вывод значения с АЦП 16F877 на ассемблере Den_GF5 Продукция MICROCHIP 4 21.09.2009 22:29
ГОСТ или ЕСПД на ALTERA и EEPROM Romantic Общетехнические вопросы 12 29.06.2009 20:31
помогите переложить рабочую прог с P16F628 на 12f629 gen22 Общетехнические вопросы 3 15.06.2009 14:27


Часовой пояс GMT +3, время: 00:52.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot