Views: 1736
Версия для 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.0Views: 235 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 …
Altium Designer – подготовка документации для производства и сборки печатных платViews: 3980 В процессе освоения Altium Designer много возникает вопросов по подготовке документации для производства плат, а также для её сборки. Altium Designer позволяет сделать все требуемые документы, хотя скажем …
Altium Designer – создание рисунков на печатной платеViews: 3533 Для создание рисунков на печатной платы в Altium Designer можно использовать возможность использовать в Altium Designer сторонних скриптов. Мне возможность эта очень понравилась и я решил её расшарить …
Защита датчиков температуры DS18B20 от статического электричестваViews: 1970 Статья перепечатана с сайта http://svetomuzyka.narod.ru При удалении датчика на большие расстояния возникает опасность наведения импульсов высокого напряжения на кабель, который соединяет датчик с контролером. Если не принимать меры защиты, …
Kitchen timer with contactless gesture controlViews: 776 Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
LED модуль P10 (1R) V706AViews: 7941 Это еще одно чудо от китайского брата. Это монохромные матрицы, называются они P10 (1R) V706A, ну типа R-красные, но не верьте паяют светики и зеленые и синие, в общем …
Moving average – скользящее среднееViews: 2433 Скользящая средняя, скользящее среднее (англ. moving average, MA) — общее название для семейства функций, значения которых в каждой точке определения равны среднему значению исходной функции за предыдущий период. Скользящие средние обычно используются с данными временных рядов для сглаживания …
Применение typedef, struct и unionViews: 8909 Полезные описания переменных Часто необходимо в памяти расположить последовательно разные виды данных, что бы потом можно было их использовать. Полезные ссылки Взято и переработано с сайта http://www.butovo.com/~zss/cpp/struct.htm http://cppstudio.com/post/9172/ …
REFERENCE CLOCK OUTPUT MODULEViews: 593 REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от …
Цифровой спидометр для автомобиляViews: 10300 Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например, для …