/\* Private includes ----------------------------------------------------------\*/ /\* USER CODE BEGIN Includes \*/ #include <stdio.h> #include "w5500\_port.h" #include <string.h> // memcmp #include "app\_config.h" #ifdef DNS\_DEMO #include "DNS/dns.h" #endif /\* USER CODE END Includes \*/
/\* USER CODE BEGIN PV \*/ #ifdef DNS\_DEMO #define DATA\_BUFFER\_SIZE 2048 uint8\_t data_buffer[DATA_BUFFER_SIZE]; const uint8\_t dns_server[4] = { 8, 8, 8, 8 }; // DNS服务器地址 #define SOCK\_DNS 0 #define WEB\_SERVER\_NAME "www.baidu.com" uint8\_t web_server_ip[4]; #endif /\* USER CODE END PV \*/
/\* Reset of all peripherals, Initializes the Flash interface and the Systick. \*/ HAL\_Init();
/\* USER CODE BEGIN Init \*/
/\* USER CODE END Init \*/
/\* Configure the system clock \*/ SystemClock\_Config();
/\* USER CODE BEGIN SysInit \*/
/\* USER CODE END SysInit \*/
/\* Initialize all configured peripherals \*/ MX\_GPIO\_Init(); MX\_USART1\_UART\_Init(); MX\_SPI1\_Init(); /\* USER CODE BEGIN 2 \*/ printf("-----STM32 W5500 Ethernet Demo-----\r\n"); w5500\_restart(); // hardware restart through RESET pin wiznet\_register(); w5500\_network\_init\_static(); wiznet\_chip\_config();
#ifdef DNS\_DEMO // DNS客户端初始化 DNS\_init(SOCK_DNS, data_buffer); uint32\_t try = 0; int ret = 0; while (1) { // 执行DNS查询 if ((ret = DNS\_run(dns_server, WEB_SERVER_NAME, web_server_ip)) > 0) { printf("dns server responsed\r\n"); break; } try++; printf("dns client try %d...\r\n", try); HAL\_Delay(1000); } printf("web server ip:%d.%d.%d.%d\r\n", web_server_ip[0], web_server_ip[1], web_server_ip[2], web_server_ip[3]); #endif
/\* USER CODE END 2 \*/
/\* Infinite loop \*/ /\* USER CODE BEGIN WHILE \*/ while (1) { /\* USER CODE END WHILE \*/ //loopback\_tcpc(0, (uint8\_t\*) recv\_buff, destip, destport); /\* USER CODE BEGIN 3 \*/ } /\* USER CODE END 3 \*/ }