[an error occurred while processing this directive]
Жа все работает как акм и асама не надо. Вот как я для 8252 делал. Может трабла с процом. 8253 глючные. По коду можно в дебагере проверить.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 1111 10 октября 2006 г. 12:37
В ответ на: Ужас! В Кейле не могу достучаться до еепрома... отправлено <font color=gray>papa</font> 10 октября 2006 г. 11:42

Могут быть еще проблемы с баноками. Тогда из функции возвращается шняга.


bit WriteEEPROM(unsigned int adr,char dat)
{
unsigned int busy_counter = EEPROM_TIME;
unsigned char xdata EE[2048];

WMCON |= EEMEN_; // Включим доступ к EEPROM
while(!(WMCON & EERDY_)) //Ждем завершения
{
if(busy_counter) busy_counter--;
else
{
WMCON &= ~(EEMWE_ | EEMEN_);
eeprom_error = 1; //Неисправна память
return 0;
}
}

WMCON |= EEMWE_; //Включим запись

EE[adr] = dat; //Пишем
WMCON &= ~(EEMWE_ | EEMEN_); //Отключим EEPROM
return 1; //Все нормально
}


unsigned char ReadEEPROM(unsigned int adr)
{
unsigned int busy_counter = EEPROM_TIME;
unsigned char xdata EE[2048];
unsigned char result;

WMCON |= EEMEN_; // Включим доступ к EEPROM
while(!(WMCON & EERDY_)) //Ждем завершения
{
if(busy_counter) busy_counter--;
else
{
WMCON &= ~EEMEN_;
eeprom_error = 1; //Неисправна память
return 0;
}
}
result = EE[adr];
WMCON &= ~EEMEN_;
return result; //Читаем
}


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание