日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32F1 W5500 TCP Client 回环测试

發(fā)布時間:2024/1/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32F1 W5500 TCP Client 回环测试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

剛剛接觸W5500的時候,做TCP Client回環(huán)測試的時候,出現(xiàn)很奇怪的問題,查了好多遍代碼,死活連接不上PC網(wǎng)絡(luò)助手的TCPServer。其實代碼本身沒什么大問題,PC機的防火墻忘記關(guān)閉了。總結(jié)一下TCP Client回環(huán)測試要注意的幾個點:

1、W5500的基礎(chǔ)庫好用。

2、在PC的CMD命令窗口中可以PING通W5500設(shè)備。

3、在測試的時候,條件允許登錄到路由器的管理頁面,查看連接設(shè)備是否有W5500的有線連接。

4、PC的防火墻要關(guān)閉。

編譯好代碼,下載到板子上,給板子復(fù)位后路由管理頁面是這樣的:

?

路由器的管理頁面上,多了一個匿名設(shè)備的有線連接,它就是W5500。

在PC的CMD命令窗口中PING該設(shè)備,是可以PING通的:

?

如果PC機的防火墻不關(guān)閉,PC的網(wǎng)絡(luò)助手是等不到W5500發(fā)起的TCP連接的,關(guān)閉PC防火墻后,可以看到效果:

下面附上主函數(shù)的測試代碼:

#ifndef __STM32F10X_H #define __STM32F10X_H #include "stm32f10x.h" #endif#ifndef __Z_UTIL_TIME_H #define __Z_UTIL_TIME_H #include "z_util_time.h" #endif#ifndef __Z_HARDWARE_LED_H #define __Z_HARDWARE_LED_H #include "z_hardware_led.h" #endif#ifndef __Z_HARDWARE_SPI_H #define __Z_HARDWARE_SPI_H #include "z_hardware_spi.h" #endif#include "w5500.h" #include "socket.h" #include "w5500_conf.h"uint8 buffer[2048];int main(void) {uint8 mac[6]={0x00, 0x0C, 0x32, 0xDA, 0x07, 0x4C};uint8 lip[4]={192, 168, 1, 111};uint8 sub[4]={255, 255, 255, 0};uint8 gw[4]={192, 168, 1, 1};uint8 remote_ip[4] = {192, 168, 1, 105};uint16 remote_port = 9000;uint16 local_port = 5000;uint16 len;init_led();init_system_spi();func_w5500_reset();setSHAR(mac);setSUBR(sub);setGAR(gw);setSIPR(lip);sysinit(txsize, rxsize);setRTR(2000);setRCR(3);setkeepalive(0);for(;;){ switch(getSn_SR(0)){case SOCK_INIT:connect(0, remote_ip, remote_port);break;case SOCK_ESTABLISHED:if(getSn_IR(0) & Sn_IR_CON) {setSn_IR(0, Sn_IR_CON);}len=getSn_RX_RSR(0);if(len>0){len = recv(0,buffer,len);send(0,buffer,len);}break;case SOCK_CLOSE_WAIT:close(0);break;case SOCK_CLOSED:socket(0,Sn_MR_TCP,local_port,Sn_MR_ND);break;}func_led1_on();delay_ms(500);func_led1_off();delay_ms(500);} }

W5500的庫函數(shù),可以參考?《測試工程代碼00_W5500_ping.rar》。

將以上的主函數(shù)替換到工程的主函數(shù)即可。

TCP Client的拓展應(yīng)用場景,如Http Client,MQTT Client,本測試是基礎(chǔ)測試。

總結(jié)

以上是生活随笔為你收集整理的STM32F1 W5500 TCP Client 回环测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。