Напишите ответ

Введите сообщение и нажмите Отправить
Параметры

Назад

Обзор темы (новое вверху)

alex_dol
2018-02-07 12:28:02

Я не пользуюсь библиотекой, мне так проще:

//Функция чтения байта из EEPROM -------------------------------------
uint8_t EEPROM_read(uint16_t uiAddress) {
  /* Wait for completion of previous write */
  while (EECR & (1 << EEPE)) ;
  /* Set up address register */
  EEAR = uiAddress;
  /* Start eeprom read by writing EERE */
  EECR |= (1 << EERE);
  /* Return data from Data Register */
  return EEDR;
}

//Функция записи байта в EEPROM -------------------------------------
uint8_t EEPROM_write(uint16_t uiAddress, uint8_t data) {
  while (EECR & (1 << EEPE));
  EEAR = uiAddress;
  EEDR = data;
  EECR |= (1 << EEMPE);
  EECR |= (1 << EEPE);
}

goodspeedmen
2018-02-06 12:19:38

Помогите разобраться с библиотекой eeprom. В файле eeprom.h есть прототипы функций для сохранения данных как байт и более, при попытке откомпилировать пишет:  ('backlash' does not name a type).  Кто то знает как адресуется память в этих функциях?
eeprom_read_byte (const uint8_t *__p)
eeprom_write_byte (uint8_t *__p, uint8_t __value);

eeprom_read_word (const uint16_t *__p);
eeprom_write_word (uint16_t *__p, uint16_t __value);
===================================================================================
#include <EEPROM.h>
volatile uint8_t backlash = 0;

uint8_t var_EEPROM[3] EEMEM;                                 //массив для хранения переменных в eeprom памяти.

//----------------------------------------------------------------------------------------------------------

backlash = eeprom_read_byte(&var_EEPROM[0]);

Подвал раздела