大家好,我手头有个LPC2368和DP83848,想用这个两个实现RJ-45网口通信,keil带一个emac.c,可以参考下,但是里面有点东西看不懂
// Keil: Timer 0 is used for TCP retransmission control
T0MR0 = 3144000; // 262mSec
T0MCR = 3; // Interrupt and Reset on MR0
T0TCR = 1; // Timer0 Enable
VICVectAddr4 = (unsigned int)TCPClockHandler;// set interrupt vector in 4
VICIntEnable = 0x00000010; // Enable Timer0 Interrupt
PCONP |= (1<<12); // Deliver clock to AD
PINSEL1 = 0x00014000; // Enable AD0 and AD1 inputs
既然是网口通信,那么就直接操作跟mac有关的寄存器就可以了啊,为什么要定时器和AD呢,还有就是我也不太明白使用LPC2368和DP83848进行网络通信的流程。我的理解比较简单,就是1、清除LP2368的mac复位标志。2、通过MMII配置PHY。3、选择RMII还是MII,因为2368只有RMII,这个就不用选择了吧。4、配置DMA引擎和收发缓冲区的首地址及长度。5、选择10m还是100m速率。6、使能收发通道
然后我写一个writePHY()和一个readPHY()来操作phy就可以读写网口数据了
请高人指点啊,谢谢大家!!! |