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

 
 
 
Reply to this topicStart new topic
> STM8Sxxx, Массив в EEPROM
Patrick Krolikov
сообщение Nov 1 2010, 19:48
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 8-03-06
Из: Краснодар
Пользователь №: 15 070



Требуется разместить массив данных в EEPROM проца, как это сделать понять не могу, изучение библиотек и примеров решению проблемы не помогло.
Работа с отдельными ячейками eeprom как с регистром, проблем не вызывает, всё читается пишется на ура.
Подскажите пожалуйста решение данной проблемы, если таковое существует в природе.
Спасибо.
P.S. Компилятор IAR.
Go to the top of the page
 
+Quote Post
Patrick Krolikov
сообщение Nov 3 2010, 19:50
Сообщение #2





Группа: Новичок
Сообщений: 7
Регистрация: 8-03-06
Из: Краснодар
Пользователь №: 15 070



__no_init __eeprom char x или__no_init __eeprom char x[8] в eeprom ничего не сохраняется.
Подскажите в чём может быть проблема.
Go to the top of the page
 
+Quote Post
Patrick Krolikov
сообщение Nov 5 2010, 21:36
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 8-03-06
Из: Краснодар
Пользователь №: 15 070



Всем Спасибо...
Решение найдено
Go to the top of the page
 
+Quote Post
topkin
сообщение Nov 8 2010, 05:31
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(Patrick Krolikov @ Nov 6 2010, 00:36) *
Всем Спасибо...
Решение найдено

Вы бы сообщили метод решения проблемы, так сказать для будущих поколений пионеров
Go to the top of the page
 
+Quote Post
A.l.e.x.
сообщение Nov 9 2010, 08:45
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 4-02-08
Из: Винница
Пользователь №: 34 732



в документе EWSTM8_DevelopmentGuide.pdf на стр. 88 абзац Declare and place your own sections

Код
/* Declare a section for variables. */
#pragma section = "MYOWNSECTION"
/* Place a variable in that section. */
const short MyVariable @ "MYOWNSECTION" = 0xF0F0;


... здесь описан метод объявления констант. Но как размещать данные в eeprom, пока не ясно...
Go to the top of the page
 
+Quote Post
Patrick Krolikov
сообщение Nov 9 2010, 15:20
Сообщение #6





Группа: Новичок
Сообщений: 7
Регистрация: 8-03-06
Из: Краснодар
Пользователь №: 15 070



Как оказалось сложного ничего нет, но расстраивает то, что те кто знает, молчат и подсказать не желают....
*((unsigned char *)0x4000) = a; // Сохраняем значение "a" в EEPROM
b = *((unsigned char *)0x4000); // Считываем значение из EEPROM

0x4000 адрес ячейки
Может это не красиво, но работает
Go to the top of the page
 
+Quote Post
WHALE
сообщение Nov 9 2010, 16:21
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(Patrick Krolikov @ Nov 9 2010, 18:20) *
Как оказалось сложного ничего нет, но расстраивает то, что те кто знает, молчат и подсказать не желают....
*((unsigned char *)0x4000) = a; // Сохраняем значение "a" в EEPROM
b = *((unsigned char *)0x4000); // Считываем значение из EEPROM

0x4000 адрес ячейки
Может это не красиво, но работает

А где здесь работа с массивом?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Patrick Krolikov
сообщение Nov 9 2010, 16:35
Сообщение #8





Группа: Новичок
Сообщений: 7
Регистрация: 8-03-06
Из: Краснодар
Пользователь №: 15 070



Обошёлся без массивов, привёл пример простой работы с eeprom.
Если вы желаете привести пример работы с массивом, никто возражать не будет
Go to the top of the page
 
+Quote Post
WHALE
сообщение Nov 9 2010, 17:19
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



дык это вы открыли тему "STM8Sxxx, Массив в EEPROM" и дальше запостили
Цитата(Patrick Krolikov @ Nov 6 2010, 00:36) *
Всем Спасибо...
Решение найдено

Ну нет так нет...


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Patrick Krolikov
сообщение Nov 9 2010, 17:45
Сообщение #10





Группа: Новичок
Сообщений: 7
Регистрация: 8-03-06
Из: Краснодар
Пользователь №: 15 070



Да открыл тему.
Написал что решение найдено, но не утверждал что решение было связано напрямую с массивом.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 21:45
Рейтинг@Mail.ru


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