久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3928|回復: 1
收起左側

STM32 LWIP無操作系統移植源碼

[復制鏈接]
ID:426178 發表于 2018-11-14 09:35 | 顯示全部樓層 |閱讀模式
文件見下

單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "key.h"
  6. #include "lcd.h"
  7. #include "sdram.h"
  8. #include "lan8720.h"
  9. #include "timer.h"
  10. #include "pcf8574.h"
  11. #include "mpu.h"
  12. #include "usmart.h"
  13. #include "malloc.h"
  14. #include "malloc.h"
  15. #include "lwip/netif.h"
  16. #include "lwip_comm.h"
  17. #include "lwipopts.h"

  18. //在LCD上顯示地址信息
  19. //mode:2 顯示DHCP獲取到的地址
  20. //          其他 顯示靜態地址
  21. void show_address(u8 mode)
  22. {
  23.         u8 buf[30];
  24.         if(mode==2)
  25.         {
  26.                 sprintf((char*)buf,"MAC    :%d.%d.%d.%d.%d.%d",lwipdev.mac[0],lwipdev.mac[1],lwipdev.mac[2],lwipdev.mac[3],lwipdev.mac[4],lwipdev.mac[5]);//打印MAC地址
  27.                 LCD_ShowString(30,130,210,16,16,buf);
  28.                 sprintf((char*)buf,"DHCP IP:%d.%d.%d.%d",lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);                                                //打印動態IP地址
  29.                 LCD_ShowString(30,150,210,16,16,buf);
  30.                 sprintf((char*)buf,"DHCP GW:%d.%d.%d.%d",lwipdev.gateway[0],lwipdev.gateway[1],lwipdev.gateway[2],lwipdev.gateway[3]);        //打印網關地址
  31.                 LCD_ShowString(30,170,210,16,16,buf);
  32.                 sprintf((char*)buf,"DHCP IP:%d.%d.%d.%d",lwipdev.netmask[0],lwipdev.netmask[1],lwipdev.netmask[2],lwipdev.netmask[3]);        //打印子網掩碼地址
  33.                 LCD_ShowString(30,190,210,16,16,buf);
  34.         }
  35.         else
  36.         {
  37.                 sprintf((char*)buf,"MAC      :%d.%d.%d.%d.%d.%d",lwipdev.mac[0],lwipdev.mac[1],lwipdev.mac[2],lwipdev.mac[3],lwipdev.mac[4],lwipdev.mac[5]);//打印MAC地址
  38.                 LCD_ShowString(30,130,210,16,16,buf);
  39.                 sprintf((char*)buf,"Static IP:%d.%d.%d.%d",lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);                                                //打印動態IP地址
  40.                 LCD_ShowString(30,150,210,16,16,buf);
  41.                 sprintf((char*)buf,"Static GW:%d.%d.%d.%d",lwipdev.gateway[0],lwipdev.gateway[1],lwipdev.gateway[2],lwipdev.gateway[3]);        //打印網關地址
  42.                 LCD_ShowString(30,170,210,16,16,buf);
  43.                 sprintf((char*)buf,"Static IP:%d.%d.%d.%d",lwipdev.netmask[0],lwipdev.netmask[1],lwipdev.netmask[2],lwipdev.netmask[3]);        //打印子網掩碼地址
  44.                 LCD_ShowString(30,190,210,16,16,buf);
  45.         }       
  46. }

  47. int main(void)
  48. {
  49.     u16 i=0;
  50.    
  51.     Write_Through();                //開啟強制透寫!
  52.     MPU_Memory_Protection();        //保護相關存儲區域
  53.     Cache_Enable();                 //打開L1-Cache
  54.    
  55.     HAL_Init();                                        //初始化HAL庫
  56.     Stm32_Clock_Init(432,25,2,9);   //設置時鐘,216Mhz
  57.     delay_init(216);                //延時初始化
  58.         uart_init(115200);                        //串口初始化
  59.         usmart_dev.init(108);                     //初始化USMART
  60.     LED_Init();                     //初始化LED
  61.     KEY_Init();                     //初始化按鍵
  62.     SDRAM_Init();                   //初始化SDRAM
  63.     LCD_Init();                     //初始化LCD
  64.     PCF8574_Init();                 //初始化PCF8574
  65.     my_mem_init(SRAMIN);                    //初始化內部內存池
  66.         my_mem_init(SRAMEX);                    //初始化外部內存池
  67.         my_mem_init(SRAMDTCM);                    //初始化DTCM內存池
  68.     POINT_COLOR = RED;                
  69.         LCD_ShowString(30,30,200,16,16,"Apollo STM32F4/F7");
  70.         LCD_ShowString(30,50,200,16,16,"Ethernet lwIP est");
  71.         LCD_ShowString(30,70,200,16,16,"ATOM@ALIENTEK");
  72.         LCD_ShowString(30,90,200,16,16,"2016/7/19");
  73.     TIM3_Init(1000-1,1080-1);       //定時器3初始化,定時器時鐘為108M,分頻系數為1080-1,
  74.                                     //所以定時器3的頻率為108M/1080=100K,自動重裝載為1000-1,那么定時器周期就是10ms
  75.         while(lwip_comm_init())         //lwip初始化
  76.         {
  77.                 LCD_ShowString(30,110,200,20,16,"LWIP Init Falied! ");
  78.                 delay_ms(500);
  79.                 LCD_ShowString(30,110,200,16,16,"Retrying...       ");
  80.         delay_ms(500);
  81.         }
  82.         LCD_ShowString(30,110,200,20,16,"LWIP Init Success!");
  83.         LCD_ShowString(30,130,200,16,16,"DHCP IP configing...");  //等待DHCP獲取
  84. #if LWIP_DHCP   //使用DHCP
  85.         while((lwipdev.dhcpstatus!=2)&&(lwipdev.dhcpstatus!=0XFF))//等待DHCP獲取成功/超時溢出
  86.         {  
  87.                 lwip_periodic_handle();        //LWIP內核需要定時處理的函數
  88.         }
  89. #endif
  90.         show_address(lwipdev.dhcpstatus);        //顯示地址信息
  91.         while(1)
  92.         {
  93.                 lwip_periodic_handle();        //LWIP內核需要定時處理的函數
  94.         delay_us(200);
  95.         i++;
  96.         if(i==2000)
  97.         {
  98.             i=0;
  99.             LED0_Toggle;
  100.         }
  101.         }                                                                                 
  102. }
復制代碼

所有資料51hei提供下載:
網絡實驗1 LWIP無操作系統移植.rar (1.77 MB, 下載次數: 39)


回復

使用道具 舉報

ID:396515 發表于 2019-8-25 09:52 | 顯示全部樓層
謝謝分享,希望多發詳細資料
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产777在线观看 | 精品国产成人 | 久久综合狠狠综合久久综合88 | 午夜精品一区二区三区免费视频 | 欧美日韩精品免费观看 | 午夜激情免费视频 | 国产操操操 | 午夜伊人 | 国产精品高清在线 | 久草视频在线播放 | 一区二区播放 | 国产高清一区二区 | 日韩精品在线观看免费 | 久久草在线视频 | 午夜精品久久久久久久星辰影院 | 色资源在线观看 | 色男人的天堂 | 国产精品欧美精品 | 91久久精品一区二区二区 | 亚洲 中文 欧美 日韩 在线观看 | 一级黄色网页 | 免费看国产一级特黄aaaa大片 | 在线亚洲一区二区 | 九九热在线精品视频 | 亚洲一区久久 | 91精品国产91综合久久蜜臀 | 成人久久| 久久久久久久久一区 | 爱爱视频在线观看 | 色婷婷亚洲国产女人的天堂 | 中文字幕 在线观看 | 婷婷色婷婷 | 最新中文字幕在线 | 噜噜噜噜狠狠狠7777视频 | 日本淫视频 | 亚洲精品99 | 久久久久久亚洲精品不卡 | 看羞羞视频免费 | 亚洲综合在线视频 | 午夜激情小视频 | 91欧美激情一区二区三区成人 |