LPC2378网卡问题
初始化网卡时,如果执行 COMMAND = COMMAND_RESET_REG | /* Reset all datapaths and host registers */ COMMAND_RESET_TX | COMMAND_RESET_RX; 这句代码后,再初始化其他寄存器时,总是出现死机的错误。 如果去掉这句话,程序就可以初始化其他寄存器。 代码段如下: MAC1 = MAC1_RESET_TX | /* [15],[14],[11:8] -> soft resets all MAC internal modules */ MAC1_RESET_MCS_TX | MAC1_RESET_RX | MAC1_RESET_MCS_RX | MAC1_RESET_SIM | MAC1_RESET_SOFT;
COMMAND = COMMAND_RESET_REG | /* Reset all datapaths and host registers */ COMMAND_RESET_TX | COMMAND_RESET_RX;
NetBSP_DlyMs(2); /* Delay for a few milliseconds after reset */
MAC1 = 0; /* Deassert all prior resets */
EMAC_TxDis(); /* Disable the transmitter */ EMAC_RxDis(); /* Disable the receiver */ 说明:执行程序执行时,执行MAC1 = 0语句时,程序跑飞; 去掉 COMMAND = COMMAND_RESET_REG | /* Reset all datapaths and host registers */ COMMAND_RESET_TX | COMMAND_RESET_RX; 这句程序,下面的程序能正常执行。
|