Полная версия этой страницы:
К теме про EEPROM
Sholkin
May 24 2007, 03:13
Здравствуйте.
Тему мою закрыли плохо конечно . Я по пытаюсь ещё раз отрыть другую с тем же вопросом.
Будь что будет.
Вот мой код программы Проблема таже (смотреть ракрытая тема не пишится реально в EEPROM)
[Выкладывать следует в приаттаченом файле, а не в теле письма, чтобы не нарушать правил]
[Длинное цитирование - нарушение правил]
В даташитах на МК есть много примров на асм и си,
вот на си, перепиать нп асму не проблемма.
unsigned char EEPROM_read (unsigned int uiAdress)// Чтение eeprom
{
while (EECR & (1<<EEWE));
EEAR = uiAdress;
EECR |= (1<<EERE);
return EEDR;}
void EEPROM_write(unsigned int uiAdress , unsigned char ucData) // Запись eeprom
{
while(EECR & (1<<EEWE));
EEAR = uiAdress ;
EEDR = ucData;
EECR |= (1<<EEMWE);
EECR |= (1<<EEWE);
}
//
Цитата(Sholkin @ May 24 2007, 07:13)

reset:
////////////////////////////////////////////////////////////////////////////////
ldi r16,0b00011001 ;установка защиты от зависания программы
out $21,r16
Вы здесь включаете Watchdog, попробуйте его отключить.
Анатолий.
Цитата(aesok @ May 24 2007, 10:59)

Вы здесь включаете Watchdog, попробуйте его отключить.
Анатолий.
Точно у вас watchdog стоит на примерно 28 ms а запись байта в eeprom 8.5 ms
Sholkin
May 28 2007, 02:57
Здравствуйте.
Спасибо за ответ aesok и KRS. действительно вы были правы
Убрал я эту строчку
ldi r16,0b00011001 ;установка защиты от зависания программы
out $21,r16
Не помогло . Подумав я стал командой после каждой записи в ячейку EEPROM сбрасывать Watchdog.
всё стало записываться . Подключил USART посмотреть через ком чего записалось всё пошло окей .
Причина была в настройке Watchdog. Теперь знаю вчём причина. Осталось только его правильно настроить .
Спасибо всем кто помог .
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.