Я делал так //eeprom.c
#include
#include "setings.h"
//---------------------------------------------------------------------------------------------
Как сразу сформировать прошивку и грузить вместе с программой не знаю.
bit eeprom_error;
bit WriteEEPROM(unsigned int adr,char dat);
unsigned char ReadEEPROM(unsigned int adr);
//*****************************************************************************
//Запись EEPROM
//*****************************************************************************
#pragma RB(0)
bit WriteEEPROM(unsigned int adr,char dat)
{
unsigned int busy_counter = EEPROM_TIME;
unsigned char xdata EE[2048];
WMCON |= EEMEN_; // Включим доступ к EEPROM
while(!(WMCON & EERDY_)) //Ждем завершения
{
if(busy_counter) busy_counter--;
else
{
WMCON &= ~(EEMWE_ | EEMEN_);
eeprom_error = 1; //Неисправна память
return 0;
}
}
WMCON |= EEMWE_; //Включим запись
EE[adr] = dat; //Пишем
WMCON &= ~(EEMWE_ | EEMEN_); //Отключим EEPROM
return 1; //Все нормально
}
//*****************************************************************************
//Чтение EEPROM
//*****************************************************************************
#pragma RB(0)
unsigned char ReadEEPROM(unsigned int adr)
{
unsigned int busy_counter = EEPROM_TIME;
unsigned char xdata EE[2048];
unsigned char result;
WMCON |= EEMEN_; // Включим доступ к EEPROM
while(!(WMCON & EERDY_)) //Ждем завершения
{
if(busy_counter) busy_counter--;
else
{
WMCON &= ~EEMEN_;
eeprom_error = 1; //Неисправна память
return 0;
}
}
result = EE[adr];
WMCON &= ~EEMEN_;
return result; //Читаем
}
//---------------------------------------------------------------------------------------------
-
- Ответ: alcosar(251 знак., 13.12.2005 21:39, )