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

 
 
> Помогите понять как ПРАВИЛЬНО работать с EEPROMОтрабатывает только половина процедуры, Отрабатывает только пол процедуры
Serega Doc
сообщение Nov 22 2005, 11:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



C помощью супервизора отлавливаю пропадание напряжения питания и формирую внешнее прерывание на INT 0
Контроллер запитан батарейкой. На батарейке не напряжение не ток не скачут в момент выключения питания.
Но процедура сохранения данных во внутреннюю EEPROM контроллера как то выполняется однобоко (только часть данных записывается в EEPROM)
Подскажите где искать ошибки?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Serega Doc
сообщение Nov 22 2005, 12:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Процедуры записи и чтения EEPROM

void EPROM_W(int ADDR, char DATA)
{
unsigned char savedSREG;
while (EECR & (1<<EEWE) ) ; // wait bit EEWE
EEAR = ADDR; // set address
EEDR = DATA; // set data
savedSREG = SREG; // keep setting so it can be restored
EECR |= BIT(EEMWE); // set "write enable" bit
EECR |= BIT(EEWE); // set "write" bit
SREG = savedSREG; // restore SREG
}

char EPROM_R(int ADDR)
{
while (EECR & (1<<EEWE));
CLI(); // disable interrupts
EEAR = ADDR; // set address
EECR |= BIT(EERE); // set "read enable" bit
SEI(); //re-enable interrupts
return (EEDR);
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:46
Рейтинг@Mail.ru


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