W5100S-L 采用UDP主动发送有时发不出去

STM32F407通过SPI带载W5100S-L网络芯片,将socket配置为UDP模式时:

1、先收紧接着后发,无论发送间隔时间,全部OK;

2、主动只发送,间隔20s以内也都OK;

3、主动只发送,间隔25s,刚开始时OK,大约发四五次后,间隔变为50s,或75s,即中间有一两次不执行发送;

找来找去没办法,后来用wireshark抓包,观察到如果用网络调试助手主动UDP发送时,大概每50s会发送一个ARP包,应该是确定对端是否存在以及对方的MAC地址。受此启发,看到W5100S-L芯片可以强制UDP发送ARP,也就是会在每次UDP发送之前先发送ARP确定对端IP及MAC。

 在芯片初始化中加入FARP位使能后,该问题解决!至于为啥会这样,貌似是W5100S芯片的ARP缓存对端MAC地址有效时间的问题,但芯片手册中未找到相关说明~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值