Описания под рукой нет, подробнее вечерком отвечу. А пока вот инит рабочий 100%(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Peet_on_B3 28 января 2003 г. 13:57
В ответ на: Ответ: не совсем понял, но все же отправлено nvn 28 января 2003 г. 12:48

дефайны стандартные, однако я работаю поллингом, но не думаю, что это играет рояль.

Удачи.


/*********************************************************************/
unsigned char Ethernet_reset(void)
{
data unsigned int cnt=1000;

Ethernet_write(ppSelfCtl,SELF_CTL_RESET);

while(cnt){
if(!(Ethernet_read(ppSelfCtl)&SELF_CTL_RESET))break;
cnt--;}
if(!cnt)return(FALSE);

cnt=1000;
while(cnt){
if(Ethernet_read(ppSelfSt)&SELF_ST_INIT_DONE)break;
cnt--;}
if(!cnt)return(FALSE);

for(cnt=1000;cnt;cnt--);
return(TRUE);
}
/*********************************************************************/
unsigned char Ethernet_verify()
{
data unsigned int value;

value=(Chip_read(Signature)&0xff);
value=((Chip_read(Signature+1)<<8)&0xff00);

value=Ethernet_read(ppEISA);

if(value!=0x630E)return(FALSE);

value=Ethernet_read(ppProdID);
return(TRUE);
}
/*********************************************************************/
unsigned char Ethernet_prepare(void)
{
data unsigned int value;
Ethernet_write(ppLineCtl,LINE_CTL_10BASET);
Ethernet_write(ppTestCtl,TEST_CTL_FDX);
Ethernet_write(ppRxCfg,RX_CFG_RX_OK_IE);

Ethernet_write(ppRxCtl,(RX_CTL_RX_OK_A|RX_CTL_IND_A|RX_CTL_BCAST_A));

// Ethernet_write(ppRxCtl,(RX_CTL_RX_OK_A|RX_CTL_IND_A|RX_CTL_BCAST_A|RX_CTL_MCAST_A));

Ethernet_write(ppTxCfg,TX_CFG_ALL_IE);

Ethernet_write(ppIndAddr,((my_mac_adress[1]<<8)|my_mac_adress[0]));
Ethernet_write(ppIndAddr+2,((my_mac_adress[3]<<8)|my_mac_adress[2]));
Ethernet_write(ppIndAddr+4,((my_mac_adress[5]<<8)|my_mac_adress[4]));
Ethernet_write(ppIntNum,0x00);

value=Ethernet_read(ppBusCtl);
value=value|BUS_CTL_INT_ENBL;
Ethernet_write(ppBusCtl,value);

value=Ethernet_read(ppLineCtl);
value=value|TX_CMD_START_ALL;
Ethernet_write(ppLineCtl,value);

return(TRUE);
}
/*********************************************************************/


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

Ответы



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

E-mail: info@telesys.ru