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; // запретить запись
}
Это может быть интересно
УКВ – радиоприем, часть 1Views: 9840 Музыкальная тема к статье, слушаем: Первый мой радиоприемник, выглядел так. Использовал исключительно в школе на уроках, держась за одно ухо и преданно смотря на училку и сладко улыбаясь. …
WiFi ESP8266 ESP-202 (ESP-12F)Views: 8042 Первое знакомство, сначала надо его купить… http://voron.ua/catalog/024404 Схема для подключения и тестирования По схеме ставим две кнопки, сброс и кнопку BT2, для перевода в режим обновления прошивки. Если надо сделать …
DIXELL XWEB500D-EVO + RUT900 или как пробить NAT-серверViews: 1213 Когда необходимо под какой нибудь контроллер имеющий вэб сервер в инет, то нужен статический IP, что оказалось проблемой при работе с операторами сотовых сетей, конкретно с оператором сети …
MAX7219/21 и 8х8 LED дисплеиViews: 1122 MAX7219, MAX7221 предназначены для вывода информации на 8 разрядов семисегментного индикатора, но на нем легко организовать вывод на светодиодные индикаторы 8х8. продолжение следует…. Это может быть интересно
Мультимедийная сеть – AVC-LAN TOYOTAViews: 5925 AVC LAN – протокол обмена данными мультимедийных систем автомобиля. Кодирование данных. При кодировании различаться три типа данных : преамбула – её назначение, это сообщение устройствам на шине, что начинается передача данных. …
CCP модуль для декодирования ИК-кодов пультов ДУViews: 1165 Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. …
Проблемы классической светомузыкиViews: 2201 Светомузыка – что это такое? Определение: Светомузыка (жаргонное: цветомузыка) — вид искусства, основанный на способности человека ассоциировать звуковые ощущения со световыми восприятиями. Такое явление в неврологии получило название …
Стабилизатор тока на SN3350, часть 2Views: 1373 Если вам необходимо разработать устройство с применением мощных светодиодов, то никак не обойтись без применения стабилизатора тока. На настоящий момент стабилизаторы тока являются самым эффективным механизмом, для питания светодиода в течение всего …
ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302Views: 2540 На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11 самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств …
Применение typedef, struct и unionViews: 8923 Полезные описания переменных Часто необходимо в памяти расположить последовательно разные виды данных, что бы потом можно было их использовать. Полезные ссылки Взято и переработано с сайта http://www.butovo.com/~zss/cpp/struct.htm http://cppstudio.com/post/9172/ …