DM9000+stm32F051调试过程中出现的问题

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   接收数据肯定不对,无法再次对其进行回复。导致出现请求超时的现象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值