Форум программистов, компьютерный форум, киберфорум
Наши страницы

Микроконтроллеры Atmega AVR

Войти
Регистрация
Восстановить пароль
 
 
sirk_o
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 25
#1

EEPROM - Atmega AVR микроконтроллер

03.10.2013, 15:40. Просмотров 15621. Ответов 39
Метки нет (Все метки)

Скажите, пожалуйста - никто не пробывал усложнить порчу еепром следующим способом......перед функцией записи в еепром завести кусок кода который-бы проверял различные состояния ног в мк и только нужном случае пускал-бы в функцию записи(порчи) еепром.....если кто пробовал, хотелось узнать какой результат....спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2013, 15:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос EEPROM (Atmega AVR микроконтроллер):

eeprom - Atmega AVR микроконтроллер
Пишу в eeprom! Все хорошо пока число не больше 255! как тока 256 пишет (или читает) всякую дрянь, отследить eeprom не знаю как) пишу на...

Чтение из EEPROM - Atmega AVR микроконтроллер
Преамбула: В программе есть несколько строк (строковых констант), которые используются только для чтения. Например, описания пунктов...

CodeVision и EEPROM - Atmega AVR микроконтроллер
Написал программу для atmega8 на CodeVisionAVR, теперь мне нужно оформить работу с внутренней EEPROM. Может, кто-то знает, как записывать...

Вопросы по EEPROM - Atmega AVR микроконтроллер
Здравствуйте, Работаю с mego32 в avrstudyo. Пишу на С. Подскажите, пожалуйста, по работе с EEPROM, есть несколько вопросов. 1. Есть вот...

Запись в EEPROM - Atmega AVR микроконтроллер
Собираю счетчик импульсов на Miko16 и нескольких индикаторах. При отключении питания надо сохранить последнее значение в EEPROM...

Работа с EEPROM - Atmega AVR микроконтроллер
Здравствуйте. Подскажите пожалуйста, каким образом я могу адресоваться к EEPROM в CvAVR? Т.е. по определённому адресу получить значение...

39
инкер
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
03.10.2013, 22:21 #31
Еслт некритично для работы, то стоит. Но лучше разобраться, действительно ли из-за порчи памяти неправильно работает.
0
drvtos
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
04.10.2013, 01:23 #32
Цитата Сообщение от инкер
Еслт некритично для работы, то стоит
Мне это не помогло. Так что да, нужно искать причины.
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
05.10.2013, 12:36 #33
Цитата Сообщение от sirk_o
а в флеш писать тинька 2313 подзавязку забита, и еще надо посмотреть есть ли у тиньки самопрограммирование
Возможно я не застал "другие" времена, но сейчас не могу в толк взять - смысл ставить 2313 если она стоит практически дороже mega8 ;)
0
sirk_o
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 25
14.10.2013, 16:08 #34
вместо тини2313 переделал на пик628.....прибор пока работает, еепром целая (3 дня)...походу этого эксперимента вылезла еще одна штука- программа под тиньку заняла у нее всю память(компилятор CodeVision), на пик-е ее аналог(только без функций вкл-выкл Wanchdog-таймера, на пике это только хардварно можно сделать) занял 50%(компилятор ССS) и это притом, что у пика628 памяти меньше....воощем 3 дня прошло пока все работает.
PS.... конденсатор и подтягивающий резистор на вход тиньки тоже пробовал - не помогло. Еще попробую частоту с тиньки сбавить и BOD понизить.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
14.10.2013, 16:13 #35
Напиши на ASM - ещё больше удивишся
0
ShodS
0 / 0 / 0
Регистрация: 01.02.2010
Сообщений: 2,011
14.10.2013, 21:58 #36
А если от АСМ-а становится не по себе... то попробуй хотя бы поменяй компилятор на "нормальный", например AVRSTUDIO4 + GCC.
Ну и старайся пользоватся целыми числами и своими библиотеками.....

Тоже удивишся.....
0
sitimur
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 648
14.10.2013, 23:11 #37
Цитата Сообщение от ShodS
А если от АСМ-а становится не по себе... то попробуй хотя бы поменяй компилятор на "нормальный", например AVRSTUDIO4 + GCC.
Ну и старайся пользоватся целыми числами и своими библиотеками.....

Тоже удивишся.....
Попробовал я как-то программку с С переписать на АСМ, конечно размер с 5700 байт изменился на 546 байт (в 10 раз!), вот только на си программа пишется за 1-2 дня, а на асме неделю :-) да и по коду ориентироваться не особо удобно, а ещё и работа с дробными числами, так вообще отвал....

Да и с проблемой с EEPROM разобрался, оказалось что и не вней дело было, при включении микроконтроллера, с ним ещё и сетевой модуль PBII на ENC28J60 включается, и в него сразу запихивались параметры типа MAC и IP, а когда с небольшой паузой из регистра сетевой МК прочитал эти данные, там их не оказалось. в итоге после включения AVR через 2 секунды только инициализировал сетевую МК, и всё заработало. :-)
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
15.10.2013, 00:14 #38
Цитата Сообщение от sitimur
Попробовал я как-то программку с С переписать на АСМ, конечно размер с 5700 байт изменился на 546 байт (в 10 раз!)
Такого же эффекта можно достичь, просто избавившись от тяжелых библиотек в коде.
0
sirk_o
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 25
15.10.2013, 12:03 #39
я не об этом...я о том, что вряд-ли такое возможно, что аналогичные программы так разительно отличаются по размерам, причем скомпиленные на комерческих компиляторах(а не на каком-то опенсорсе)...здесь явно еще что-то в архитектуре этих мк.
0
OtixPM
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
15.10.2013, 13:09 #40
Цитата Сообщение от sirk_o
я не об этом...я о том, что вряд-ли такое возможно, что аналогичные программы так разительно отличаются по размерам, причем скомпиленные на комерческих компиляторах(а не на каком-то опенсорсе)...здесь явно еще что-то в архитектуре этих мк.
Система команд AVR гораздо эффективнее системы команд PIC16. И если один и тот же алгоритм в AVR занял вдвое больше места, то это либо неодинаковый подход к аппаратным возможностям двух разных микроконтроллеров, либо - извините - вариант для AVR был написан криво, выше уже высказывались о возможных "кривостях". В CVAVR компилятор очень хорошо оптимизирует по размеру кода, если эту опцию включить в свойствах проекта.

Если Вы уверены, что сишный код для двух МК почти не отличался, сравните ассемблерные листинги - там должно быть видно, почему один код вдвое больше другого.
0
15.10.2013, 13:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 13:09
Привет! Вот еще темы с ответами:

Вопрос по EEPROM - Atmega AVR микроконтроллер
Всем Добрый день. Ребята, подскажите как мне можно поступить в этом случае: #ymstude <avr/io.h> #ymstude <avr/pgmsposi.h> ...

Avrdude + EEPROM - Atmega AVR микроконтроллер
Такая проблема приключилась: программно пишу данные в EEPROM. После ребута контроллера эти данные считываются и нормально обрабатываются...

Данные в EEPROM - Atmega AVR микроконтроллер
Добрый день. Динные которые будут храниться в ЕЕПРОМе записываю так EEMEM uint8_t Byte0 = 1; EEMEM uint8_t Byte1 = 2; EEMEM...

AVRDUDE+eeprom - Atmega AVR микроконтроллер
Всех приветствую. Возникла странная проблема с чтением eeprom у AtTiny13. Это моя первая поделка с AVR... Перерыл все что нашел по...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru