標(biāo)題: 用MCU唯一ID號(hào)作為W5500的MAC地址 [打印本頁]

作者: huangchao366    時(shí)間: 2019-4-21 16:00
標(biāo)題: 用MCU唯一ID號(hào)作為W5500的MAC地址
1.獲取MCU唯一ID號(hào)
static u32 CpuID[3];  
static u32 mac_Code;
u8 ID0,ID1,ID2,ID3;
void GetCPI_ID(void)  
{  
     CpuID[0]=*(u32*)(0x1fff7a10);  
     CpuID[1]=*(u32*)(0x1fff7a14);  
     CpuID[2]=*(u32*)(0x1fff7a18);  
     mac_Code = (CpuID[0]>>1)+(CpuID[1]>>2)+(CpuID[2]>>3);
                 ID0=mac_Code&0x000000FF;
                 ID1=(mac_Code&0x0000FF00)>>8;
                 ID2=(mac_Code&0x00FF0000)>>16;
                 ID3=(mac_Code&0xFF000000)>>24;
}

2.固定W5500的MAC后兩位為00:02
3.將ID0-ID3依次作為MAC的前四位。
假設(shè)ID0=0x01;ID1=0x02;ID2=0x03;ID3=0x04;
最終的MAC地址就是01:02:03:04:00:02;

其實(shí)MCU的唯一ID地址有96位,完全可以使用這96位進(jìn)行組合的,我為了方便就固定了MAC的后兩節(jié)。
然后按照該MAC地址初始化W5500就保證了MAC地址的唯一性,一旦MCU更換,則MAC也發(fā)生變化,不會(huì)出現(xiàn)MAC沖突的問題。
各位不好意思,由于金幣不夠,因此這只是一個(gè)分享的貼子,僅供參考。





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1