W5500S2E-S1是一款工業級串口轉以太網模塊,支持TCP Server,TCP Client和UDP三種工作模式,串口波特率最高可達1.152Mbps,並提供配套的上位機配置軟件,也可通過網頁或AT命令等方式輕鬆配置。 W5500S2E-S1模塊集成了全硬件TCP / IP協議棧以太網接口芯片W5500,網絡通信更加快速,穩定,安全。用戶只需根據手冊中推薦的參考設計原理圖,即可快速完成硬件電路的設計,降低開發難度,節省開發時間。 今天我們就實際的來了解一下W5500S2E-S1基於UDP工作模式的具體操作流程是什麼樣的,下面我們就來看看吧: 具體操作流程 (1),接線方式: (2)、例程說明: 打開“通過MCU配置S2E為UDP例程”,主程序中第一部分TIM3_Init();是設定一個幀中斷的時間定時器,這是因為該例程MCU的串口是通過幀中斷來接收AT命令配置S2E後返回的數據的。 第二部分USARTX_Init();初始化MCU用到的串口,這裡用USART1_Config();是printf功能,用於查看調試信息。USART2_Config();用於配置S2E,需要注意的是該串口的配置參數需要同S2E的串口配置參數一致,否則配置失敗。 第二部分USARTX_Init();初始化MCU用到的串口,這裡用USART1_Config();是printf功能,用於查看調試信息。USART2_Config();用於配置S2E,需要注意的是該串口的配置參數需要同S2E的串口配置參數一致,否則配置失敗。 /**************************************************** 函數名: UDP_Mode 形參: 無 返回值: 無 函數功能: 配置S2E為UDP模式 ****************************************************/ volatile uint8_t SendFlag = 0; void UDP_Mode(void) { uint8_t RecvFlag = 1; char *state; switch (SendFlag) { case 0: { Usart_Send(USART2, "AT\r\n"); //終端檢測命令 while (RecvFlag) { if (RX2_Point & FRAME_LEN) //如果接收到數據 { state = strstr((char*) RecvBuff, "OK"); if (state != NULL) { RX2_Point = 0; //接收標誌位置零 RecvFlag = 0; //狀態標誌位置零 SendFlag = 1; printf("Recv:%s\r\n", RecvBuff); memset(RecvBuff, 0, RECV_LEN); } else { SendFlag = 100; RecvFlag = 0; } } } } break; case 1: { Usart_Send(USART2, "AT+ECHO=0\r\n"); //開啟(1)/關閉(0)回顯命令 RecvFlag = 1; while (RecvFlag) { if (RX2_Point & FRAME_LEN) //如果接收到數據 { state = strstr((char*) RecvBuff, "OK"); if (state != NULL) { RX2_Point = 0; RecvFlag = 0; SendFlag…