Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
364 Микроконтроллеры AVR от азов программирования... ная ранее операция записи еще не закончилась, запускать процесс чтения или изменять содержимое регистра адреса (EEAR) недопустимо. Атомарное программирование байта Использование атомарного программирования байта — самый про стой способ программирования. Для записи байта в EEPROM программа должна сначала записать: ♦ адрес — в регистр EEAR; ♦ данные — в регистр EEDR. Если биты ЕЕРМп установлены в ноль, то установка флага ЕЕРЕ (в течение четырех циклов после установки ЕЕМРЕ) включает процесс сти- рания/записи. Операции стирания и записи производятся за одно дей ствие, длительность которого указана в табл. 6.1. Бит ЕЕРЕ остается установленным до окончания процесса стирания и записи, то его сброс означает, что действие закончено. В течение всего про цесса программирования никакие другие действия с EEPROM невозможны. Раздельное программирование байта Этот режим позволяет разделить процессы стирания и записи на два разных действия. Это может быть полезно в том случае, если требуется быстро записать ряд данных в течение ограниченного периода времени (например, если нужно записать данные в момент, когда неожиданно пропадает питание). Для того, чтобы использовать этот метод, необходимо предварительно стереть все ячейки, в которые будет производиться запись. Учитывая, что процесс стирания и процесс записи — это две отдельных операции, про цесс предварительного стирания ячеек можно производить в тот момент, когда время на выполнение этой операции нелимитировано (например, когда питание еще включено). Стирание Перед тем, как начинать процесс стирания, необходимо записать адрес стираемого байта в регистр EEAR. Затем нужно установить значение битов ЕЕРМп равным 0Ь01, установить ЕЕРЕ в единицу (в течение четы рех машинных тактов после установки бита ЕЕМРЕ), и процесс стирания будет запущен (длительность этого процесса указана в табл. 6.1). Бит ЕЕРЕ остается в единичном состоянии в течение всего цикла сти рания. Пока идет процесс стирания, никакие другие операции с EEPROM невозможны.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==