TI中文支持网
TI专业的中文技术问题搜集分享网站

TM4C1294NCPDT UIP例程 MAC地址如何设置,有何规则??

如题。。。

Maka Luo:

参考如下代码:

// // Read the MAC address from the user registers. // MAP_FlashUserGet(&ui32User0, &ui32User1); if((ui32User0 == 0xffffffff) || (ui32User1 == 0xffffffff)) { // // We should never get here. This is an error if the MAC address has // not been programmed into the device. Exit the program. // UpdateStatus("MAC Address Not Programmed!"); while(1) { } }

// // Convert the 24/24 split MAC address from NV ram into a 32/16 split MAC // address needed to program the hardware registers, then program the MAC // address into the Ethernet Controller registers. // sTempAddr.addr[0] = ((ui32User0 >> 0) & 0xff); sTempAddr.addr[1] = ((ui32User0 >> 8) & 0xff); sTempAddr.addr[2] = ((ui32User0 >> 16) & 0xff); sTempAddr.addr[3] = ((ui32User1 >> 0) & 0xff); sTempAddr.addr[4] = ((ui32User1 >> 8) & 0xff); sTempAddr.addr[5] = ((ui32User1 >> 16) & 0xff);

xyz549040622:

看楼上贴出的代码,是通过设置ui32User0,ui32User0的值来来吧设置的值给sTempAddr.addr这个数组的。

然后再把sTempAddr.addr的值写进相应的寄存器中。用的是EMACAddrSet这个函数应该是。

song li3:

回复 Maka Luo:

我想问下,tm4c1294ncpdt  芯片在出厂时 ,预先将mac地址烧入了 user0  和 user1  寄存器吗?

Liang JinTong:

回复 song li3:

我看过好几块芯片都是没有mac地址的,出厂应该没有预先烧录。

xyz549040622:

回复 Liang JinTong:

你是怎么看的呢?出厂应该是有默认的了。

Liang JinTong:

回复 xyz549040622:

看user0  和 user1  寄存器,均是FF

xyz549040622:

回复 Liang JinTong:

0xff也是有值的,试试能不能ping通了。

Liang JinTong:

回复 xyz549040622:

看二楼的代码,如果都是FF程序就死了,还ping什么。

xyz549040622:

回复 Liang JinTong:

如果读回来是0XFF,那说明你的MAC地址没有设置。只能重新设置了,但是确实出厂的时候应该有默认MAC地址的。应该是你擦除的时候连flash中的数据也擦除了。用户寄存器中的数据清空了。

赞(0)
未经允许不得转载:TI中文支持网 » TM4C1294NCPDT UIP例程 MAC地址如何设置,有何规则??
分享到: 更多 (0)