更具lwip移植到stm32上實現以太網服務器
單片機源程序如下:
- #include "led.h"
- #include "lcd.h"
- #include "key.h"
- #include "stm32f4x7_eth.h"
- #include "stm32f4x7_eth_bsp.h"
- #include "netconf.h"
- #include "tcp.h"
- #include "udp.h"
- #include "string.h"
- #include "TCP_SERVER.h"
- #define SYSTEMTICK_PERIOD_MS 10
-
- /* Private macro -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- __IO uint32_t LocalTime = 0; /* this variable is used to create a time reference incremented by 10ms */
- uint32_t timingdelay;
- int main(void)
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
- delay_init(); //初始化延時函數
- LED_Init(); //初始化LED
- //LCD_Init(); //初始化LCD
- KEY_Init(); //初始化KEY
-
- // BRUSH_COLOR=RED;
- // LCD_DisplayString(10,10,24,"Illuminati STM32F4");
- // LCD_DisplayString(10,40,16,"Author:Clever");
- // LCD_DisplayString(20,70,24,"23 TCP_Server ");
- //
- // BRUSH_COLOR=BLUE;
- // LCD_DisplayString(20,110,16,"IMT407G_IP:192.168.1.240"); //開發板作為服務器時的IP
- // LCD_DisplayString(20,130,16,"TCP_Server_PORT:2040 "); //開發板作為服務器時的端口號
-
- ETH_BSP_Config(); //DP83848相關IO初始化與ETH相關初始化
- LwIP_Init(); //LWIP初始化
- TCP_server_init(); //初始化開發板為服務器
- while (1)
- {
- LwIP_Periodic_Handle(LocalTime); /* handle periodic timers for LwIP */
- }
- }
- /**
- * @brief Inserts a delay time.
- * @param nCount: number of 10ms periods to wait for.
- * @retval None
- */
- void Delay(uint32_t nCount)
- {
- /* Capture the current local time */
- timingdelay = LocalTime + nCount;
- /* wait until the desired delay finish */
- while(timingdelay > LocalTime)
- {
- }
- }
- /**
- * @brief Updates the system local time
- * @param None
- * @retval None
- */
- void Time_Update(void)
- {
- LocalTime += SYSTEMTICK_PERIOD_MS;
- }
- #ifdef USE_FULL_ASSERT
- /**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
- void assert_failed(uint8_t* file, uint32_t line)
- {
- /* User can add his own implementation to report the file name and line number,
- ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
- /* Infinite loop */
- while (1)
- {}
- }
- #endif
復制代碼
所有資料51hei提供下載:
TCP服務器數據收發實驗.7z
(613.2 KB, 下載次數: 44)
2019-7-2 16:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|