Чтение и запись данных в EEPROM

Views: 1751


Версия для 8 битных микроконтроллеров 18 серии где EEPROM более 256 байт например, PIC18F26K80.

Чтение данных из EEPROM

//чтение данных из EEPROM
unsigned char read_eeprom (unsigned int adres)
{
    EEADRH = adres>>8;      // загрузка адреса
    EEADR  = adres;         //
    EECON1bits.EEPGD=0;     // выбор чтения из еепром
    EECON1bits.CFGS=0;      //
    EECON1bits.RD=1;        // чтение байта данных
    NOP ();
    return EEDATA;          // возврат значения
}

 

Запись данных в EEPROM

//запись данных в EEPROM
void write_eeprom (unsigned int adres, unsigned char data)
{
    EEADRH = adres>>8;      // загрузка адреса
    EEADR  = adres;

    EEDATA = data;          // загрузка данных

    EECON1bits.EEPGD=0;     // выбор записи в еепром
    EECON1bits.CFGS=0;
    EECON1bits.WREN=1;      // разрешить запись в еепром
    INTCONbits.GIE=0;       // запретить прерывания
    EECON2 = 0x55;          // код разрешения записи
    EECON2 = 0xAA;          //

    EECON1bits.WR = 1;      //начать запись
    while(EECON1bits.WR);   // дождаться окончания
    INTCONbits.GIE=1;       // разрешить прерывания

    EECON1bits.WREN=0;      // запретить запись
}

 



Это может быть интересно


  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Views: 2524 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …
  • MPLAB® Harmony – или как это просто! Часть 4.MPLAB® Harmony – или как это просто! Часть 4.
    Views: 2456 Часть четвертая – это может показаться немного сложно. Структура проекта. Для облегчения конфигурирования проекты MPLAB Harmony обычно структурированы таким образом, чтобы изолировать код, необходимый для настройки «системы», от …
  • Audio-bluetooth modules BK8000L (noname)Audio-bluetooth modules BK8000L (noname)
    Views: 909 Еще один вариант, так сказать недоразумения Audio-bluetooth modules BK8000L (noname). Его отличительной маркировкой служат два отверстия в плате и надпись R2. Отличают его от модулей на чипе BK8000L, …
  • PIC32MZ – прерывания (заметки)PIC32MZ – прерывания (заметки)
    Views: 536 Виды формирования запоминая контекста при входе в прерывания. Компилятор представляет три варианта AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот …
  • Регулятор влажности ch-3800Регулятор влажности ch-3800
    Views: 1565   И еще один проект на плате ch-c3xxx –  универсальный регулятор влажности ch-3800. Регулятор позволяет работать как в режиме индикатора влажности, так и в режиме регулятора. Рабочий диапазон …
  • CLUBBEST-50-LightCLUBBEST-50-Light
    Views: 474 CLUBBEST-50-LIGHT   Зміст Короткий опис проекту. 1 Опис схемотехніки візуалізатора музики. 2 Аудіо вхід. 3 MCU. 4 Цифровий вихід. 5 Схема живлення MCU. 6 Складання пристрою. 7 Список …
  • Акриловый корпус для платы ch-4000Акриловый корпус для платы ch-4000
    Views: 873 Плата ch-4000 подходит для монтажа в корпуса на дин рейку, но для домашней автоматики необходимо что-то другое, поэтому был разработан корпус из акрила который позволит создавать настольные и настенные устройства. Корпус …
  • Стабилизатор тока для светодиодов SN3350Стабилизатор тока для светодиодов SN3350
    Views: 2821 SN3350 ближайший аналог ZXLD1350 Как собрать готовый вариант, читайте во второй части – http://catcatcat.d-lan.dp.ua/stabilizator-toka-na-sn3350-chast-2/ 40V  драйвер светодиодов с внутренним ключом  SN3350 – импульсный понижающий преобразователь, разработанный для того, чтобы эффективно управлять одним или …
  • Altium Designer – подготовка документации для производства и сборки печатных платAltium Designer – подготовка документации для производства и сборки печатных плат
    Views: 4070 В процессе освоения Altium Designer много возникает вопросов по подготовке документации для производства плат, а также для её сборки. Altium Designer позволяет сделать все требуемые документы, хотя скажем …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Views: 1034 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …



Поделись этим!