Чтение и запись данных в 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;      // запретить запись
}

 



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


  • Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0
    Views: 305 Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0   Here I want to share how I configure Altium Designer and how I use the DXPPreferences1.DXPPrf …
  • MPLAB® Harmony – или как это просто! Часть 4.MPLAB® Harmony – или как это просто! Часть 4.
    Views: 2447 Часть четвертая – это может показаться немного сложно. Структура проекта. Для облегчения конфигурирования проекты MPLAB Harmony обычно структурированы таким образом, чтобы изолировать код, необходимый для настройки «системы», от …
  • CCP модуль для декодирования ИК-кодов пультов ДУCCP модуль для декодирования ИК-кодов пультов ДУ
    Views: 1164 Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. …
  • MPLAB® Harmony – или как это просто! Часть 1.MPLAB® Harmony – или как это просто! Часть 1.
    Views: 3901 Часть первая – Установка Гармонии. Музыкальная тема к статье, слушаем: В начале запуска нового проекта и выбора микроконтроллера стоит задача правильно его сконфигурировать, прежде чем перейти к реализации …
  • Altium Designer first projectAltium Designer first project
    Views: 549 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье  Altium Designer my setup system and project structure.  Обратите внимание! Библиотека постоянно обновляется, …
  • Просто о внешних переменныхПросто о внешних переменных
    Views: 951  Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как …
  • Проект с использованием MCC часть 10Проект с использованием MCC часть 10
    Views: 1115 Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – …
  • Проект с использованием MCC часть 14Проект с использованием MCC часть 14
    Views: 1112 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
  • Audio-bluetooth modules BK8000L (noname)Audio-bluetooth modules BK8000L (noname)
    Views: 902 Еще один вариант, так сказать недоразумения Audio-bluetooth modules BK8000L (noname). Его отличительной маркировкой служат два отверстия в плате и надпись R2. Отличают его от модулей на чипе BK8000L, …
  • Проект с использованием MCC часть 03Проект с использованием MCC часть 03
    Views: 1741 Первым делом перенастроим регистры конфигурации, следующим образом: Отключим выход генератора (CLKOUT function is disabled. I/O function on the CLKOUT pin) Включим сторожевой таймер (WDT enabled) После этой настройки …



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