[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Работа только с одним DPTR. Данные перегоняются в IDATA, запрещаются все прерывания и пишется в EEPROM.
void set_flnew( unsigned char index, unsigned char *ukaz, unsigned char maxx)
{
int ccc;
idata char vsppom[ 64];
for( ccc = 0; ccc < maxx; ccc++)
vsppom[ ccc] = ukaz[ index + ccc];
EECON |= 2;
AUXR |= 0x20;
for( ccc = 0; ccc < maxx; ccc++)
*( FLPAM + index + ccc) = vsppom[ ccc];
EETIM = 60;
EECON = 0x52;
EECON = 0xA2;
while( EECON & 1) ;
AUXR &= ~0x20;
EECON &= ~2;
}
Когда пишется 2 блока подряд, возникает ошибка в данных, где-то в 14 байте. Тестировалось на нескольких м/с и разных платах одного типа.
Подлскажите, плз, где ручонки кривенькие.
E-mail: info@telesys.ru