А я конечно же иначе !
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -Tумблер- 15 июня 2004 г. 17:14
В ответ на: А я вот так ! ;-) отправлено miv 15 июня 2004 г. 15:30

data byte *pxdata;

/*-------------------------------------*/
void make_pxdata (word toff, word ad)
{
pxdata = (byte *) (0x010000 or ((ad shl 1) + (toff shl 1)));
}

/*-------------------------------------*/
/* читаем внутреннийй EEPROM 8252 словами 16 бит */

word read_flash_ (word tabl_off, word ad)
{

make_pxdata (tabl_off, ad);

DI
WMCON or= 1 shl EEMEN;
EI

DATAWH = *pxdata++;
DATAWL = *pxdata;

DI
WMCON and= ~(1 shl EEMEN);
EI

return DATAW;
}

/*-------------------------------------*/

void eeprom_rdy (void)

{

for (;;)
{
if ((WMCON and (1 shl EERDY)) lne 0) return;
}

}

/*-------------------------------------*/
/* пишем внутренний EEPROM 8252 словами 16 бит */

void write_flash_ (word tabl_off, word ad, word dat)

{

DATAW = dat;
make_pxdata (tabl_off, ad);

DI
WMCON or= (1 shl EEMEN) or (1 shl EEMWE);
EI

eeprom_rdy ();
*pxdata++ = DATAWH;
eeprom_rdy ();
*pxdata = DATAWL;
eeprom_rdy ();

DI
WMCON and= ~((1 shl EEMEN) or (1 shl EEMWE));
EI

}

/*-------------------------------------*/

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru