#1 2018-02-06 12:19:38

goodspeedmen
Учасник
З https://discord.gg/6hbs98y
Зареєстрований: 2016-10-02
Повідомлень: 81

eeprom

Помогите разобраться с библиотекой 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]);

Остання редакція goodspeedmen (2018-02-06 12:22:24)

Неактивний

#2 2018-02-07 12:28:02

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: eeprom

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

//Функция чтения байта из 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);
}

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму