W5500 KEEPALIVE  功能流程简介以及应用

原文:https://blog.csdn.net/s1987ea/article/details/52634416

最近用到了W5500 的keepalive功能,他有两种模式,一种自动模式,一种手动模式,应用也很简单。

自动模式:

  IINCHIP_WRITE(Sn_KPALVTR(s),0×02); //配置命令,可以放到系统初始化中

这条命令就可以了, 最后一个参数的数字是 keepalive 的发送间隔时间,单位是5S,现在这种配置就是10S 一次,但是这个流程要注意,如果你在10S的周期内,W5500与建立链接的SOCKET有通信,这个keepalive 帧是不发送的,如果在10S内的周期内没有网络数据 交互,该帧才发送。


手动模式:

  IINCHIP_WRITE(Sn_KPALVTR(s),0×00); //配置命令,可以放到系统初始化中

  IINCHIP_WRITE(Sn_CR(s),Sn_CR_SEND_KEEP); //因为手动发送,要放到定时器或者主循环中

这个是手动发送的,只要执行 第二条 指令就会发送出 keepalive帧, 不管这个周期内有无数据交互

猜你喜欢

转载自blog.csdn.net/oXiaoXue123456789/article/details/80984346