Возможно ли запись данных в флэш память пика?
|
|
Doctor |
Дата: Ср, 26.01.2011, 01:05 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
14
Замечания:
±
На сайте с 29.01.2010
Статус:
Offline
|
Возможно ли сохранить значение переменной в память, чтобы при отключении питания контроллера данные сохранились? Я использую PIC18F4550Добавлено (26.01.2011, 01.05.23) --------------------------------------------- Вроде как разобрался, я просто не знал что eeprom и флэш-память одно и тоже. Для этого надо использовать операторы ewrite, eread, edata.
|
|
|
|
DAlexV |
Дата: Ср, 26.01.2011, 07:48 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Хочу немного растроить.Quote (Doctor) я просто не знал что eeprom и флэш-память одно и тоже. Это не так. EEPROM это как ПЗУ в которое пользователь может использовать для записи/чтения данных. Во Flash память храниться сама программа но если есть место ее то же можно использовать для хранения данных. Разница в режимах записи/чтения. К EEPROM можно обращаться побайтно, а к Flash блоками. Более подробно описано в мануале на процессор.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
Doctor |
Дата: Ср, 26.01.2011, 14:03 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
14
Замечания:
±
На сайте с 29.01.2010
Статус:
Offline
|
Ясно, просто в википедии написано, что флэш память это разновидность EEPROM, поэтому я так и решил. Вот хочу уточнить ещё такой момент, во флэш память можно записывать ограниченно, максимально несколько десятков тысяч раз, значит сохранять данные каждую секунду как я хотел не выйдет, а этот самый EEPROM в пике, сколько он поддерживает циклов перезаписи?
|
|
|
|
MasterPic |
Дата: Ср, 26.01.2011, 14:53 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
186
Замечания:
±
На сайте с 22.11.2008
Статус:
Offline
|
по даташиту не менее 1000000 циклов записи/стирания
|
|
|
|
DAlexV |
Дата: Ср, 26.01.2011, 22:08 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (Doctor) значит сохранять данные каждую секунду как я хотел не выйдет для такой задачи хорошо подойдет практически любая микруха часов реального времени. В них есть свободная RAM память хранящая свои значения до момента отключения ее от резервного питания. В свое время добил EEPROM 84 такой задачей. после этого лепил ошибки чтения / записи.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
Doctor |
Дата: Ср, 26.01.2011, 23:36 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
14
Замечания:
±
На сайте с 29.01.2010
Статус:
Offline
|
Аа..точно, это как на материнках, данные с таймера сохраняются, а резервное питание это круглая батарейка. Так? А может проще тогда резервное питания для пика подвести, поставить какую нибудь релюшку, которая при отключении главного питания переключала на резервное, дальше на пике смотрим, если главного питания нет переходим в sleep.. Не лучше не так, если главного питания нет, сохраняем в еепром данные и вырубаем пик.
Сообщение отредактировал
Doctor - Ср, 26.01.2011, 23:39
|
|
|
|
DAlexV |
Дата: Чт, 27.01.2011, 09:45 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Что касаемо вопроса, то все верно. Можно реализовать резервное питание и для пика. Реле не обязательно, достаточно 2 диодов + батарейка или ионистор. При пропадении основного питания генериться прерывание и записываем данные в EEPROM. Основная проблема это что бы при пропадении основного питания потребление от батарейки было минимальным(не жрало лишнего перефирия навешанное на пик). Иначе смысл автономного питания пропадает как таковое.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
Doctor |
Дата: Чт, 27.01.2011, 11:12 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
14
Замечания:
±
На сайте с 29.01.2010
Статус:
Offline
|
Если вам несложно не могли бы вы подробнее рассказать, как при помощи двух диодов переключать питание?
|
|
|
|
Matrix252005 |
Дата: Чт, 27.01.2011, 11:22 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток. Doctor, вот смотрите. В PDF тоже самое, если вдруг Вы не сможете открыть протеус... А здесь http://startcd.narod.ru/clock/cl_termo.html вообще, очень красиво реализован это процесс!!!!! Вы можете контролировать входное напряжения и в случае пропадания, записывать данные в EEPROM.
THE TRUTH IS OUT THERE.
С уважением, Николай.
Сообщение отредактировал
Matrix252005 - Чт, 27.01.2011, 14:30
|
|
|
|
Doctor |
Дата: Чт, 27.01.2011, 19:03 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
14
Замечания:
±
На сайте с 29.01.2010
Статус:
Offline
|
Всем большое спасибо.
|
|
|
|