[an error occurred while processing this directive]
Так и должно быть - это следует и из логики, и из описания цикла записи EEPROM
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено =AVR= 24 марта 2006 г. 01:15
В ответ на: Столкнулся с граблями - mega16 при записи в ЕЕПРОМ не допускает смену адреса EEAR, пока не снимется флаг EEWE (+) отправлено SADAT 24 марта 2006 г. 00:04

Для наглядности считай, что состояние EEWE - это строб WE, как в обычной АСИНХРОННОЙ RAM. Адрес должен быть неизменным в течение всего цикла записи (пока EEWE = 1), чтобы не произошла непреднамеренная запись в другие ячейки. Поэтому делай, как написано в примере DS - дождисьь EEWE = 0, выстави адрес, выстави данные, разреши запись (запиши EEMWE = 1) и запусти цикл записи (запиши EEWE = 1). После этого можешь заниматься чем угодно, и следующую запись осуществлять по той же цепочке - ожидание EEWE=0, установка адреса, установка данных, разрешение записи и запуск цикла записи. А будешь преждевременно менять адрес (кстати, и данные тоже) - будут неизбежные грабли.

И еще раз запомни - симуляторы неидеальны, и никогда не смогут корректно эмулировать периферию

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru