DM9000EP为何每次接收时总产生接收FIFO缓存溢出错误,且接收数据包长度总大于1526
------解决方案--------------------
这个就不好判断了,这里给你我原来用DM9000的初始化代码参考一下
//==================================================================================================
// DM9000寄存器的初始化
//==================================================================================================
void dm9000_register_init(void)
{
dm9000_write_index(0, 0); // NCR
dm9000_write_index(2, 0); // TX Control Register
dm9000_write_index(0x2d, 0x10); // Transmit Ctrol Register 2
dm9000_write_index(0x08, 0x3f); // Back Pressure Threshold Register
dm9000_write_index(0x2f, 0x00); // Special Mode Control Register
dm9000_write_index(0x01, 0x2e); // Network Status Register, 写1清除
dm9000_write_index(0xfe, 0x0f); // Interrupt Status Register
dm9000_write_index(0x31, 0x07); // Check Sum Control Register, 允许UDP, TCP, IP协议包产生校验和
dm9000_write_index(0x32, 0x00); // Receive Check Sum Status Register
}
//==================================================================================================
// 初始化DM9000
//==================================================================================================
unsigned char dm9000_init(void)
{
volatile unsigned short count;
unsigned char ch;
if((dm9000_read_index(0x2b) != 0x90)
------解决方案--------------------
dm9000_read_index(0x2a) != 0x00)