這個應用代碼設置W5500為tcp服務器,PC作為tcp客戶端來連接W5500,并通過簡單的數據收發來驗證連接是否成功。
完整源碼:
STM32_DMA-W5500.zip
(417.27 KB, 售價: 2 E幣)
2023-5-16 11:07 上傳
點擊文件名下載附件
售價: 2 E幣 [記錄]
[ 購買]
包含文件目錄
============
stm32f10x_conf.h 配置庫文件
stm32f10x_it.c 中斷頭文件
stm32f10x_it.h stm32f10x_it.c的頭文件
main.c 主程序
硬件環境
========
這個例程用于野火STM32F103VET6開發板同以太網芯片W5500搭建的應用平臺,也可以很方便地
移植到其他平臺上。
注意:
首先通過串口線連接PC和W5500模塊;如果W5500模塊直接通過網線和PC相連接,需要修改PC的IP為靜態IP,且保證和W5500在同一個網段;
如果W5500模塊直接連接路由器,則不需要修改。
操作步驟
========
1. 成功編譯應用程序,然后通過串口燒錄工具或者Jlink把程序燒錄到開發板中
2. 打開串口工具,復位開發板可以看到W5500的相關配置信息
3. 打開網絡調試助手,設置為TCP Client,端口號和服務器IP可以通過串口打印得到;添加信息無誤后點擊連接建立網絡
4. 連接成功后,在網絡調試助手端發送數據,可以觀察到數據接收情況
部分代碼片段:
- /**
- ******************************************************************************
- * @file main.c
- * @author fire
- * @version V1.0
- * @brief 用3.5.0版本庫建的工程模板
- ******************************************************************************
- **@attention 內網測試,請保證W5500的IP與測試PC機在同一網段內,且不沖突;
- * @attention 如果是用網線跟PC機直連,請設置PC機本地連接地址IP為靜態IP;
- * @attention 網絡調試助手打開時的IP地址若是你本地連接地址,請自行設定;
- *
- * 使用本程序,先將w5500_conf.C 文件中的PC_IP,設定為PC機的IP地址,端口號可任意,默認為5000
- *
- ******************************************************************************
- */
- #include <stdio.h>
- #include <string.h>
- #include "stm32f10x.h"
- #include "bsp_spi_flash.h"
- #include "bsp_usart1.h"
- #include "bsp_i2c_ee.h"
- #include "bsp_i2c_gpio.h"
- #include "bsp_led.h"
- #include "bsp_dht11.h"
- #include "w5500.h"
- #include "W5500_conf.h"
- #include "socket.h"
- #include "utility.h"
- /*app函數頭文件*/
- #include "tcp_demo.h"
- uint8 buffer[2048];
- int main(void)
- {
- uint16 size=0;
- systick_init(72);/* 初始化Systick工作時鐘*/
- NVIC_Configuration();
- USART1_Config(); /*初始化串口通信:115200@8-n-1*/
- i2c_CfgGpio();/*初始化eeprom*/
- LED_GPIO_Config();
-
- printf(" 初始化W5500…… \r\n");
- gpio_for_w5500_config();/* 初始化MCU相關引腳*/
- // SPI_DMA_Config();
- reset_w5500();/*復位W5500*/
- printf(" W5500 Hardware initialized! \r\n");
-
- set_w5500_mac();/*配置W5500MAC地址*/
- if(use_define==1||use_eeprom==1)/*不DHCP獲取IP地址,就配置默認IP地址*/
- set_w5500_ip();/*配置W5500IP地址*/
- printf(" 電腦作為TCP客戶端連接W5500TCP服務器 \r\n");
- printf(" W5500服務器端口默認為: %d \r\n",W5500_tcp_server_port);
- printf(" 連接成功后,PC機發送數據給W5500,W5500將返回對應數據 \r\n");
- socket_buf_init(txsize, rxsize); /*初始化8個Socket的發送接收緩存大小*/
- printf(" 應用程序執行中……\r\n");
- while(1)//循環執行的函數
- {
- do_tcp_server();/*TCP_Server 數據回環測試程序*/
- }
- }
復制代碼
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|