roboforum.ru

Технический форум по робототехнике.

Помогите с eeprom для Atmega 8

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Помогите с eeprom для Atmega 8

Сообщение Andrey » 04 дек 2009, 15:26

Доброго времени суток всем. Проблемы с eeprom для Atmega 8. Пытаюсь писать в eeprom затем сразу читаю от туда байт (соответственно выждав готовности), читается как 0xFF, хотя в симуляторе VMLAB всё работает отлично!!! Контролирую прочитанный байт выводом на порт D.
Текст программы
void main (void )
{
while(EECR & (1<<EEWE));
EEAR=10;
EEDR=0x01;
while(EECR & (1<<EEWE));
EECR|=(1<<EEMWE);
EECR|=(1<<EEWE);

DDRD=255;
while(EECR & (1<<EEWE));
EEAR=10;
EECR|=(1<<EERE);
PORTD=EEDR;
while(1);
}
Заранее благодарен!!!

Добавлено спустя 33 минуты 37 секунд:
Кто просматривает данную тему, всё нормально заработало, нащёл код вида
int main(void)
{
// Записать 10 байтов в EEPROM
for (int i = 0; i < 10; i++)
{
// Ждать готовность к записи
while ( EECR & 0x02 );

EEAR = i; // Адрес
EEDR = i + 0x20; // Данные
EECR = 0x04; // Разрешить запись
EECR = 0x02; // Запись
//asm( "sbi 0x1C, 1" ); (1)
}

// Читать 10 байтов из EEPROM
for (int i = 0; i < 10; i++)
{
EEAR = i; // Адрес
EECR = 0x01; // Чтение
}

// Спать
while ( 1 )
{
MCUCR = 0x20;
asm( "sleep" );
}
}
С ним почемуто всё нормально пишется, только вот почему???
Andrey
 
Сообщения: 30
Зарегистрирован: 29 окт 2009, 22:06
Откуда: Москва
прог. языки: С++, Python

Re: Помогите с eeprom для Atmega 8

Сообщение avr123.nm.ru » 04 дек 2009, 16:33

Наверно надо отличия найти.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22