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 的协议栈, 只要负责接收数据即可.
来源: http://www.bubuko.com/infodetail-3462128.html