реклама на сайте
подробности

 
 
> Как сохранить уставки в памяти
Tem@
сообщение Dec 11 2009, 10:52
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 15-10-08
Пользователь №: 40 966



Добрый день.

Помогите пожалуйста разобраться с запоминатнием уставок.
Есть (точнее разработан и запущен) прибор на базе ATmega16. ПРограмма рабочая и всем устраивает.
Но прибор необходимо настаривать и значения пары параметров измерять и вносить в программу. После чего прошивать проц.
ПРичём измерения этих параметров производится самим прибором.
Поэтому пришла мысли о автоматизации этого процеса.
Знающие люди расскажите как заставить программу записать полученные значения в энергонезависимую память.
Уже написан тестовый режим который включается перемычкой и программа может снять данные . Я только абсолютно не знаю как эти данные сохранить и в последующем чтобы основная ветка программы использовала эти уставки.
По сути процесс простой каждый программер знает как это делать, но начинающий crying.gif
Использую codevisionAVR.
Благодарю за помощь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Dec 11 2009, 12:12
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Tem@ @ Dec 11 2009, 12:52) *
Я только абсолютно не знаю как эти данные сохранить и в последующем чтобы основная ветка программы использовала эти уставки.

Сохранять уставки можно в EEPROM который есть в любом AVR чипе, в m16 512 байт eeprom'a.

Как сохранять:
Например, написать пару функций чтение/запись массива байт по заданному адресу, по сл. прототипам:

Код
void eeprom_write(U16 eeprom_addr, PVOID pData, int size);
void eeprom_read( U16 eeprom_addr, PVOID pData, int size);



затем заводите структуру данных с уставками и держите ее всегда в ОЗУ:

Код
struct
{
    ... уставки
} config;



Сохраняете ее в eeprom, после изменения уставок:
eeprom_write( <адрес>, &config, sizeof( config));

и загружаете при старте программы:
eeprom_read( <адрес>, &config, sizeof(config));

По вкусу добаляете CRC требуемой разрядности, и дублирование.


Что из этого вызывает у вас сложности?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 10:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016