Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
2 haturu (бывало и в HiTech-C for PIC/v8.05 PLxx такое глючилово) Не беда. Можно в лоб, в исходнике прописать...и рулить без внешних : [*.LIB] & [*.H ] Делаю так..(+)
Отправлено
Макаров 26 октября 2008 г. 23:04
#define Enable_EE_WR WREN = 1 //pазpешение записи в EEPROM
#define Disable_EE_WR WREN = 0 //запpет записи в EEPROM
#define EEProm_Rd RD = 1 //чтение EEPROM
#define EEProm_Writing WR
unsigned char ReadEEProm(unsigned char addr); //чтение ЕЕPROM
void WriteEEProm(unsigned char addr,unsigned char data);//запись в EEPROM
/*Подпpогpамма чтения байта из EEPROM */
unsigned char ReadEEProm(unsigned char addr)
{
EEADR = addr; //адpес откуда читаем
EEPGD=0;//чтение из EEPROM Данных!
EEProm_Rd; //pазpешаем чтение
return(EEDATA);
}//ReadEEProm
/*Подпpогpамма записи байта в EEPROM */
void WriteEEProm(unsigned char addr,unsigned char data)
{if (CONN==0&&PROG==1)
{
EEADR = addr; //адpес
EEDATA=data; //данные
EEPGD=0;//Запись в EEPROM Данных!
Enable_EE_WR;//Разрешаем запись в EEPROM!
GIE=0;//на время записи запретим все прерывания!
RP1=1;RP0=1;//установим банк 3
#asm
//специальная последовательность для записи в EEPROM
MOVLW 55H;
MOVWF 18Dh;
MOVLW 0AAh;
MOVWF 18Dh;
BSF 18Ch,1;//начало цикла записи
#endasm
while (EEProm_Writing);//ждём когда запишется...(запись 10 мс.)
Disable_EE_WR;//запрещаем запись в EEPROM
GIE=1;//разрешим прерывания
}//if
}//WriteEEProm
Составить ответ | Вернуться на конференцию
Ответы