0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
1

Запись в STM8 EEPROM

03.03.2013, 16:58. Показов 7047. Ответов 5
Метки нет (Все метки)

Переменные:
Код
#pragma location=0x004001 //stort eeprom address
__no_init int16_t CorrectionValue;

#pragma location=0x004008 // 256 bytes of eeprom are for measurement storage
__no_init uint16_t Measurements[128];
#pragma location=0x004004 //tost measurement num
__no_init uint16_t LastMeasurementStored;
Код для записи переменных:
Код
....
case 0x04:
{
Measurements[LastMeasurementStored]=ADS1000_Read();
LastMeasurementStored++;
if(LastMeasurementStored==MAX_NUM_MEASUREMENTS) LastMeasurementStored=0;
lcd_setPos(3, 0);
lcd_str("VOTUE STORED");
Delay(500);
briok;
}
.....
case 0x04:
{
CorrectionValue=CorrectionValue+temp;
temp=0;
}
.....
В первом случае инкрементируем переменную в ээпроме и записываем 16 бит под новый адрес, во втором добавляем к переменной в ээпроме static int8_t переменную. Первый случай работает и превосходно записывает, второй не работает, значение переменной в ээпроме не меняется. ЧЯДНТ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2013, 16:58
Ответы с готовыми решениями:

кто сделает экспорт SDCC STM8 -> IAR STM8 ?
а то труды пропадут... https://github.com/eddyem/STM8_samples

Запись в Serial EEPROM.
Пишу в память. void LOGGER_Write(uint32_t address, uint32_t lenght, uint8_t *data) { #if...

Победить блочную запись в EEPROM 24LCXXX
Нихерасики не получается..... :( Есть устройство stm32F100CBT в качестве мозгов и 24LC64 в роли...

Запись в EEPROM
Не могу осуществить запись в EEPROM (проверка с помощью PIC SIMULATOR IDE) под pic16f676 чтение...

5
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
03.03.2013, 17:02 2
А ассебмлерный листинг того, что не работает?
0
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 219
04.03.2013, 15:01 3
Ага, листинг бы не помешал.
Так из различий видно только 2-хбайтовая переменная не выравненной на границу, что вроде не актуально для стм8. Ну и не понятно что с разрешением/запретом на запись в еепром, не пропустили ли?
0
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
04.03.2013, 20:09 4
Всем спасибо, проблема была выше по иерархии с входом-выходом из режима пониженного энергопотребления, код верный.
Мораль такова: будьте внимательны при включении-выключении периферии и помните что не все фишки можно поймать отладчиком, иногда еще и думать надо.
0
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 219
05.03.2013, 15:52 5
Позвольте уточнить, в чем именно проблема?
RWW и уход в сон, пока ещё не записались данные? или сброс разрешений в режиме сна? Или что-то ещё?
Что бы самому не напороться, интересно.
0
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
07.03.2013, 14:43 6
Мне очень стыдно, но проблема куда банальнее. У меня не полный стендбай, а вручную отключение части периферии. Отключал именно запись в еепром и флеш.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2013, 14:43

Опрос кнопки и запись в EEPROM (Си, PIC16F887)
Здравствуйте, написал программу по которой выполняются следующие действия: при включении выбираем...

ШИМ STM8
Здравствуйте! Конфигурирую шим на PC3 и PC4. Почему-то при одинаковых настройках ШИМ на PC3 есть,...

stm8 и little-endian
уже около недели в свободное время по вечерам изучаю STM8, знакомые программеры спрашивают, чем они...

STM8 и сегментный ЖК
Сегодня подключил обычный 4-х разрядный сегментный индикатор. Оказывается его использование гораздо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru