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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1573|回復: 0
打印 上一主題 下一主題
收起左側

戰艦v2通信網絡實驗源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:357630 發表于 2018-6-24 10:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用戰艦的板子做的一個網絡通信


  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "rtc.h"
  7. #include "beep.h"
  8. #include "tsensor.h"
  9. #include "usart.h"       
  10. #include "timer.h"
  11. #include "sram.h"
  12. #include "malloc.h"
  13. #include "string.h"
  14. #include "usmart.h"       
  15. #include "dm9000.h"
  16. #include "lwip/netif.h"
  17. #include "lwip_comm.h"
  18. #include "lwipopts.h"
  19. #include "udp_demo.h"
  20. #include "tcp_client_demo.h"
  21. #include "tcp_server_demo.h"
  22. #include "httpd.h"

  23. /*ALIENTEK為LWIP學習專門編寫手冊《ALIENTEK STM32F1 LWIP使用教程.pdf》,詳細說明請參考手冊。*/

  24. extern u8 udp_demo_flag;  //UDP 測試全局狀態標記變量
  25. //加載UI
  26. //mode:
  27. //bit0:0,不加載;1,加載前半部分UI
  28. //bit1:0,不加載;1,加載后半部分UI
  29. void lwip_test_ui(u8 mode)
  30. {
  31.         u8 speed;
  32.         u8 buf[30];
  33.         POINT_COLOR=RED;
  34.         if(mode&1<<0)
  35.         {
  36.                 LCD_Fill(30,30,lcddev.width,110,WHITE);        //清除顯示
  37.                 LCD_ShowString(30,30,200,16,16,"WarShip STM32F1");
  38.                 LCD_ShowString(30,50,200,16,16,"Ethernet lwIP Test");
  39.                 LCD_ShowString(30,70,200,16,16,"ATOM@ALIENTEK");
  40.                 LCD_ShowString(30,90,200,16,16,"2015/3/21");        
  41.         }
  42.         if(mode&1<<1)
  43.         {
  44.                 LCD_Fill(30,110,lcddev.width,lcddev.height,WHITE);        //清除顯示
  45.                 LCD_ShowString(30,110,200,16,16,"lwIP Init Successed");
  46.                 if(lwipdev.dhcpstatus==2)sprintf((char*)buf,"DHCP IP:%d.%d.%d.%d",lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);//打印動態IP地址
  47.                 else sprintf((char*)buf,"Static IP:%d.%d.%d.%d",lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);//打印靜態IP地址
  48.                 LCD_ShowString(30,130,210,16,16,buf);
  49.                 speed=DM9000_Get_SpeedAndDuplex();//得到網速
  50.                 if(speed&1<<1)LCD_ShowString(30,150,200,16,16,"Ethernet Speed:10M");
  51.                 else LCD_ShowString(30,150,200,16,16,"Ethernet Speed:100M");
  52.                 LCD_ShowString(30,170,200,16,16,"KEY0:TCP Server Test");
  53.                 LCD_ShowString(30,190,200,16,16,"KEY1:TCP Client Test");
  54.                 LCD_ShowString(30,210,200,16,16,"KEY2:UDP Test");
  55.         }
  56. }

  57. int main(void)
  58. {         
  59.         u8 t;
  60.         u8 key;
  61.         delay_init();                    //延時函數初始化          
  62.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                 //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  63.         uart_init(115200);                 //串口初始化為9600
  64.         LED_Init();                            //LED端口初始化
  65.         LCD_Init();                                //初始化LCD
  66.         KEY_Init();                                 //初始化按鍵
  67.         BEEP_Init();                        //蜂鳴器初始化
  68.         RTC_Init();                                //RTC初始化
  69.         T_Adc_Init();                        //ADC初始化
  70.         TIM3_Int_Init(999,719);//定時器3頻率為100hz
  71.         usmart_dev.init(72);        //初始化USMART                 
  72.         FSMC_SRAM_Init();                //初始化外部SRAM
  73.         my_mem_init(SRAMIN);                //初始化內部內存池
  74.         my_mem_init(SRAMEX);                //初始化外部內存池
  75.         POINT_COLOR = RED;                
  76.         lwip_test_ui(1);                //加載前半部分UI                    
  77.         while(lwip_comm_init()) //lwip初始化
  78.         {
  79.                 LCD_ShowString(30,110,200,20,16,"LWIP Init Falied!");
  80.                 delay_ms(1200);
  81.                 LCD_Fill(30,110,230,130,WHITE); //清除顯示
  82.                 LCD_ShowString(30,110,200,16,16,"Retrying...");  
  83.         }
  84.         LCD_ShowString(30,110,200,20,16,"LWIP Init Success!");
  85.         LCD_ShowString(30,130,200,16,16,"DHCP IP configing...");
  86. #if LWIP_DHCP   //使用DHCP
  87.         while((lwipdev.dhcpstatus!=2)&&(lwipdev.dhcpstatus!=0XFF))//等待DHCP獲取成功/超時溢出
  88.         {
  89.                 lwip_periodic_handle();        //LWIP內核需要定時處理的函數
  90.                 lwip_pkt_handle();
  91.         }
  92. #endif
  93.         lwip_test_ui(2);                //加載后半部分UI
  94.         httpd_init();                          //Web Server模式
  95.           while(1)
  96.         {       
  97.                 key=KEY_Scan(0);
  98.                 switch(key)
  99.                 {
  100.                         case KEY0_PRES://TCP Server模式
  101.                                 tcp_server_test();
  102.                                 lwip_test_ui(3);//重新加載UI
  103.                                 break;
  104.                         case KEY1_PRES://TCP Client模式
  105.                                 tcp_client_test();
  106.                                 lwip_test_ui(3);//重新加載UI
  107.                                 break;
  108.                         case KEY2_PRES://UDP模式
  109.                                 udp_demo_test();
  110.                                 lwip_test_ui(3);//重新加載UI
  111.                                 break;
  112.                 }
  113.                 lwip_periodic_handle();
  114.                 lwip_pkt_handle();
  115.                 delay_ms(2);
  116.                 t++;
  117.                 if(t==100)LCD_ShowString(30,230,200,16,16,"Please choose a mode!");
  118.                 if(t==200)
  119.                 {
  120.                         t=0;
  121.                         LCD_Fill(30,230,230,230+16,WHITE);//清除顯示
  122.                         LED0=!LED0;
  123.                 }
  124.         }
  125. }
復制代碼

所有資料51hei提供下載:
實驗50 網絡通信實驗.rar (2.06 MB, 下載次數: 5)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人伊人网 | 中国大陆高清aⅴ毛片 | 精品综合视频 | 青青草这里只有精品 | 爱爱无遮挡 | 久久精品免费观看 | 一级a性色生活片久久毛片 午夜精品在线观看 | 亚洲免费精品 | 成人午夜免费在线视频 | 91黄色片免费看 | 亚洲国产精品久久久久婷婷老年 | a级在线观看 | 国产目拍亚洲精品99久久精品 | 久久国产精品无码网站 | 日韩福利电影 | 一级黄色录像片子 | 欧美一区二区三区在线播放 | 国产真实精品久久二三区 | 午夜二区 | 久久亚洲高清 | 亚洲精品一 | 97色在线观看免费视频 | 亚洲精品欧美 | 视频一区在线播放 | 美女拍拍拍网站 | 国产一级免费视频 | 91综合在线观看 | 99国产精品久久久久久久 | 99国产精品99久久久久久 | 亚洲天堂一区二区 | 伊人艹| h小视频 | 国产精品欧美一区二区三区不卡 | 日韩手机在线看片 | 欧美一区二 | 久久精品国产久精国产 | 亚洲人成在线观看 | 黄色高清视频 | 精品在线一区二区三区 | 国产四区 | 国产日韩一区 |