1、在很多场合,w5500和适合小型的单片机进行控制,这些单片机一般不移植lwip协议栈,为了节省内存,通常使用像w5500这种全硬件TCPIP协议栈的芯片,给开发带来方便,中文网站https://www.w5500.com/和http://www.w5500.cn/和野火等都有移植好的代码,基本上修修改改就可以使用。
2、这里以stm32F103ZET6芯片为例来记录下使用过程中的注意事项
3、如果单片机作为客户端,那么通常使用查询的方式来于服务器来通信,如果作为服务器来通信,那么通常使用中断的方式来处理。因此我自己有两种代码的解决方式。
4、我参考了野火的w5500的tcpclient例程来进行客户端程序的开发
5、使用其他的例程,来源未知,同事共享的,使用中断的方式来作为服务器开发。
6、中断中,有一个注意点就是,类似于stm32的串口发送中断一样,他发送回客户端的数据后,默认是有发送完成中断的,其实这个中断可以不用,取消即可。
7、因为我使用中断来处理的,触发中断,默认是有数据从客户端发送到单片机,因此发送完成中断就多此一举了。
8、w5500与单片机通信使用的是spi,因此通信上面比较方便,单片机不用实现tcp的协议栈,只要负责接收数据即可。