|
Использование памяти 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 до компиляции:
|
|
|