Вы вошли на сайт, как Гость
Регистрация

Использование памяти EEPROM

Использование памяти EEPROM
(Example №5)

Этот пример иллюстрирует запись и чтение из встроенной памяти EEPROM. Программа работает следующим образом. Основной цикл постоянно читает EEPROM память по адресу 5 (десятичное). Затем программа входит в бесконечный цикл, в котором увеличивается значение PORTB, при этом проверяется состояния входа PORTA.2. В момент нажатия кнопки MEMO, номер, сохраненный в PORTB, будет сохранена в EEPROM и отображена в PORTD в двоичной форме.

/*Header******************************************************/
    
void main() {
    ANSEL = 0;                      // Все I/O порты настроены как цифровые
    ANSELH = 0;
    
    PORTB = 0;                      // Начальное состояние порта B
    TRISB = 0;                      // Все входы порта B настроены на вывод
    PORTD = 0;                      // Начальное состояние порта D
    TRISD = 0;                      // Все входы порта D настроены на вывод
    TRISA = 0xFF;                   // Все входы порта A настроены на вход
    PORTD = EEPROM_Read(5);         // Чтение EEPROM памяти по адресу 5
    
    do {
        PORTB=PORTB++;              // Увеличить порт B на единицу
        Delay_ms(100);              // 100 мс задержка
        if (PORTA.F2){
            EEPROM_Write(5,PORTB);  // Если MEMO нажата, сохраняем в PORTB
            PORTD = EEPROM_Read(5); // Чтение записанных данных
            do;
            while (PORTA.F2);       // Оставаться в этом цикле пока нажата кнопка
        }
    }
    while(1);                       // Бесконечный цикл
}

Для того чтобы проверить эту схему, достаточно нажать на кнопку MEMO и выключить устройство. После перезагрузки устройства, программа будет отображать сохраненные значения на порт D. Для того, чтобы этот пример работал правильно, нужно поставить галочку в библиотеке EEPROM в Library Manager до компиляции: