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的協議棧,只要負責接收數據即可。