stm32f051 是用来替代51的产品,其不含FSMC。这样我们去读取DM9000CEP的时候只能像51一样去用IO来模拟,可能出现一些问题,下面是我出现的
1,在收到PC发出的ping 命令时总是出现了丢失4个FF的现象,我到现在还没找到原因。比如本来是FF FF FF FF FF FF BC 。。。,而DM9000CEP收到的数据只是:
FF FF BC 。。。 后面全部一样。折腾了好久,也没有找到解决办法,既然知道他是丢失了 4个 FF ,那我就强制在 接收数据缓冲区中给他加上 4个FF。果然补齐了数据。和发送的数据一模一样。果然进去了 if(BUF->type == htons(UIP_ETHTYPE_ARP)) //收到的是ARP数据 调用ARP处理 这个处理部分 顺利进入uip_arp_arpin 函数,此时PC上的ping 命令由无法访问目标主机变成 请求超时,据我目前的理解 是PC 收到回复了 继续发送0800的 请求 ,但是我在接收数据部分强制加上了4个FF 接收数据肯定不对,无法再次对其进行回复。导致出现请求超时的现象。