Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Олег13 22 марта 2004 г. 15:18
В ответ на: Это странно. Ссылочку на исходники дайте, plz. отправлено - 22 марта 2004 г. 15:09

Вот собственно часть кода

void CSPPWrite (unsigned short address, unsigned short value)
{
DataDirection = OUTPUT;
ADDR = address; WR_DATA = value;
SBI(Cntrl,IOW);
CBI(Cntrl,AEN);
CBI(Cntrl,IOW);
NOP;
NOP;
SBI(Cntrl,IOW);
SBI(Cntrl,AEN);
ADDR = (address + 1); WR_DATA = (value >> 8);
SBI(Cntrl,IOW);
CBI(Cntrl,AEN);
CBI(Cntrl,IOW);
NOP;
NOP;
SBI(Cntrl,IOW);
SBI(Cntrl,AEN);
DataDirection = INPUT; WR_DATA = 0xFF;
}

unsigned short CSPPRead(unsigned short address)
{
unsigned short value;
ADDR = (address + 1);
SBI(Cntrl,IOR);
CBI(Cntrl,AEN);
CBI(Cntrl,IOR);
NOP;
NOP;
value = RD_DATA;
SBI(Cntrl,IOR);
SBI(Cntrl,AEN);
value <<= 8;
ADDR = address;
SBI(Cntrl,IOR);
CBI(Cntrl,AEN);
CBI(Cntrl,IOR);
NOP;
NOP;
value |= RD_DATA;
SBI(Cntrl,IOR);
SBI(Cntrl,AEN);
return value;
}
void CSSetMAC (void)
{
CSPPWrite (PPPtr, PP_MAC+0);
CSPPWrite (PPData, MAC1);
CSPPWrite (PPPtr, PP_MAC+2);
CSPPWrite (PPData, MAC2);
CSPPWrite (PPPtr, PP_MAC+4);
CSPPWrite (PPData, MAC3);
}
void CSGetMAC (void)
{
unsigned short i;
CSPPWrite (PPPtr, PP_MAC+0);
i = CSPPRead (PPData);
CSPPWrite (PPPtr, PP_MAC+2);
i = CSPPRead (PPData);
CSPPWrite (PPPtr, PP_MAC+4);
i = CSPPRead (PPData);
}

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

Ответы



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

E-mail: info@telesys.ru