[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Попробовал и получилось! Указал DPL1 и DPH1 как переменные по адресам 0x84 и 0x85. МК видимо к ним сам обращается при команде MOVX. *ptr - указатель в XDATA.
Читаю так:
WMCON = WMCON | 0x08;// Разрешаем доступ к EEPROM
WMCON = WMCON | 0x04;// Выбор DPS = 1
DPL1 = 0x00; // Адрес младш
DPH1 = 0x00; // Адрес старш
ptr = 0x0000; // Это обязательно!
EEPROMdata = *ptr; // Читаем число
WMCON = WMCON & 0xF7; // Запрещаем доступ к EEPROM
Пишу так:
WMCON = WMCON | 0x08;// Разрешаем доступ к EEPROM
WMCON = WMCON | 0x04;// Выбор DPS = 1
WMCON = WMCON | 0x10;// Разрешаем писать в EEPROM
DPL1 = 0x00; // Адрес младш
DPH1 = 0x00; // Адрес старш
*ptr = EEPROMdata; // Пишем число в EEPROM
while (!(WMCON & 0x02)); // Ждем конца записи ~ 10 мс! Долго!
WMCON = WMCON & 0xEF; // Запрещаем писать в EEPROM
WMCON = WMCON & 0xF7; // Запрещаем доступ к EEPROM
Спасибо за советы! Работает!
E-mail: info@telesys.ru