Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-ноя-30 06:09

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 6 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Информационная память
СообщениеДобавлено: 2017-мар-14 21:25 
Не в сети

Зарегистрирован: 2016-янв-20 20:03
Сообщения: 6
Организация: ФГУП РФЯЦ-ВНИИТФ
Здравствуйте! Нет ли у кого простого рабочего примера работы с информационной памятью?


Вернуться к началу
 Заголовок сообщения: Re: Информационная память
СообщениеДобавлено: 2017-мар-15 09:16 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 589
1 Для ВЕ1 нет, есть для ВЕ9х.
2 Что есть критерий "простого"? Если память не подводит, то "Миландровская" std библиотека содержит вполне рабочие функции.


Вернуться к началу
 Заголовок сообщения: Re: Информационная память
СообщениеДобавлено: 2017-мар-27 20:32 
Не в сети

Зарегистрирован: 2016-янв-20 20:03
Сообщения: 6
Организация: ФГУП РФЯЦ-ВНИИТФ
Спасибо за ответ. Разобрался сам. Возник другой, может быть ламерский вопрос, можно ли сохранять в памяти значения типа float? Пробовал вместо uint32_t ставить float, но контроллер виснет напрочь.


Вернуться к началу
 Заголовок сообщения: Re: Информационная память
СообщениеДобавлено: 2017-мар-28 08:50 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1603
Откуда: Тула
R8AAP писал(а):
Спасибо за ответ. Разобрался сам. Возник другой, может быть ламерский вопрос, можно ли сохранять в памяти значения типа float? Пробовал вместо uint32_t ставить float, но контроллер виснет напрочь.
А как Вы это пытаетесь делать???

Логично было бы сделать что-то на подобие:
struct eeprom_data {
float var1;
char array[N];
// что-то ещё...
}

size_t i=0, size = (sizeof(eeprom_data)+3)/4;
uint32_t *data = (uint32_t ) &eeprom_data; // eeprom_data выровнить бы по границе 4 байт.

EEPROM_Erase(....);
for(uint32_t adr = 0; i<size; i++, adr += 4) {
EEPROM_Write(data, adr, InfoBankSelector);
}

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: Информационная память
СообщениеДобавлено: 2017-мар-28 08:55 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 589
Из вопроса совершенно непонятно в какой памяти и чем сохранять :). Если сохранять float в EEPROM посредством библиотечной функции
void EEPROM_ProgramWord(uint32_t Address, uint32_t BankSelector, uint32_t Data), то есть смысл преобразовать float в uint32_t, при извлечении - наоборот.


Вернуться к началу
 Заголовок сообщения: Re: Информационная память
СообщениеДобавлено: 2017-апр-07 21:42 
Не в сети

Зарегистрирован: 2016-янв-20 20:03
Сообщения: 6
Организация: ФГУП РФЯЦ-ВНИИТФ
Вроде бы заработало. Я понял, что информационная память мне и не нужна, проще работать с основной. Использовал и доработал пример от Petrа (про запись 256 значений во флеш). Сейчас возник другой вопрос, но это уже в другой теме. Всем спасибо за помощь.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 6 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


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

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB