STM32之W5500:掉线重联????
1、前言
? 經(jīng)常的情況下,我們的w5500芯片是不能夠支持所謂“熱拔插”,因?yàn)閣5500工作在tcp的模式下的時(shí)候,沒有能夠檢測(cè)對(duì)端的設(shè)備是否還存在,所以當(dāng)拔掉網(wǎng)線的情況下,它的socket是不能夠重啟并且直接連接的,所以,這個(gè)時(shí)候,我們?nèi)粝胫匦逻B接就需要手動(dòng)對(duì)w5500進(jìn)行重啟,為了解決這個(gè)問題,我們需要采用中斷的方法(僅僅工作在tcp的模式下)
2、具體實(shí)現(xiàn)方案
?
曾經(jīng)我一直以為一定要用keepalive的方式才能實(shí)現(xiàn)這種情況(嘗試了很久,查了很多的資料,也最終沒能實(shí)現(xiàn)),但是,當(dāng)我發(fā)現(xiàn)若設(shè)定我們的stm32作為tcpip的服務(wù)器模式,并且設(shè)定為中斷模式的情況下,我們可以使用中斷的方式對(duì)客戶端的斷開進(jìn)行處理:
入上圖所示:
當(dāng)出現(xiàn)熱拔插的情況下,socket的斷開的情況下,我們可以通過初始化重啟socket來重新進(jìn)行初始化。
?
其中上圖中的socket_init 的部分就是對(duì)這個(gè)斷開連接的socket 進(jìn)行初始化的地方。
總結(jié)
以上是生活随笔為你收集整理的STM32之W5500:掉线重联????的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【算法提高—蓝桥杯】阮小二买彩票
- 下一篇: Python学习 Day31 JS类数组