ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
46286 Топик полностью
vesago (13.12.2005 14:40, просмотров: 1) ответил alcosar на Keil и at89s8252
Я делал так //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; //Читаем } //---------------------------------------------------------------------------------------------