欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機WIFI模塊學習源碼 [打印本頁]

作者: 吳天創    時間: 2017-1-15 11:50
標題: 51單片機WIFI模塊學習源碼
51單片機WIFI模塊的資料:

所有資料下載:
串口wifi模塊51單片機代碼.rar (39.81 KB, 下載次數: 189)

主程序:
  1. /*************************************************
  2.   Copyright (C), Shanghai xunzhan Electronic Technology Co., Ltd.
  3.   File name:      main.c
  4.   Author:         Jacky
  5.   Mail:                  sscxyt_support@163.com
  6.   Version:        V1.0.0  
  7.   Description:   
  8.   Others:        
  9.   History:      
  10.     1. Date:
  11.       Author:
  12.       Modification:
  13.     2. ...
  14. *************************************************/
  15. #include <string.h>
  16. #include <intrins.h>
  17. #include <stdio.h>

  18. #include   "main.h"
  19. #include   "wifi.h"
  20. #include   "Msc51_Drive.h"       
  21. #include   "STC89C51RC_RD_PLUS.h"


  22. main()
  23. {
  24.         HardWareInit();                        // 硬件初始化
  25.         // 設置wifi模塊參數,使用的是不帶應答的模式設置,沒有判斷模塊返回,參數設置可以這樣。
  26.         // tcp數據通訊建議啟用應答模式。
  27.         Wifi_Para_set(TCP);               
  28.         u8LinkState = 0;
  29.     printf("wifi module has linkup with a server!!");
  30.         while(!u8LinkState)        // 等待設置成功,這是死循環,用戶自己可以按照要求修改
  31.         {
  32.                 WifiLink(0);                        // 0是默認組號,第一組是默認組號。由于發射時候功耗大,模塊快速發熱,建議加上延時函數
  33.                 // delayS(60);       // 比如1分鐘掃描一次,直到掃描到AP.
  34.         }
  35.         /////// 主應用程序///////////////
  36.         while(1)
  37.         {
  38.                 if(gcReceComm1OK)        //  從串口收到有效的wifi數據               
  39.                 {
  40.                           // WIFI通訊數據處理
  41.                           ProcessWIFIData();
  42.                           gcReceComm1OK = 0;
  43.                 }
  44.         }
  45.         while(1)  // 去掉編譯未調用警告
  46.         {
  47.                 ScanNetWork(0xffff,1);
  48.                 WIFIReset();
  49.                 WIFICloseAp(0,1);
  50.                 WIFILinkOrCloseServer(1,1);
  51.         }
  52. }
  53. /*
  54. *********************************************************************************************************
  55. ** 函數名稱 :HardWareInit(void)
  56. ** 函數功能 :硬件初始化                           
  57. ** 入口參數 :無
  58. ** 出口參數 :無
  59. *********************************************************************************************************
  60. */
  61. void HardWareInit(void)
  62. {
  63.         RS0 = RS1 = 0;// 使用寄存器組0               
  64.     AUXR = 0x01;
  65.         EA                 = 0;
  66.         P1 = 0xFF;
  67.     P2 = 0xFF;
  68.     P3 = 0xFF;
  69.     P4 = 0xFF;
  70.         Uart_Init();        // wifi模塊: 波特率19200/38400/57600/115200bps 數據位:8bits 校驗位:無 停止位:1bits 流控 :無
  71.         EA = 1;
  72.        
  73. }
  74. /*
  75. *********************************************************************************************************
  76. ** 函數名稱 :Void Wifi_Para_set(void)
  77. ** 函數功能 :WIFI 參數設置                        
  78. ** 入口參數 :無
  79. ** 出口參數 :無
  80. *********************************************************************************************************
  81. */
  82. void Wifi_Para_set(unsigned char u8DataType)
  83. {
  84.                 unsigned char parmid[23]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa};

  85.                 gcNetParaBuffer[0].M_id    = WIFI_TCPIP;
  86.                 gcNetParaBuffer[0].cLength = 4;
  87.                 gcNetParaBuffer[0].cInfo[0] = 192;  
  88.                 gcNetParaBuffer[0].cInfo[1] = 168;
  89.                 gcNetParaBuffer[0].cInfo[2] = 1;
  90.                 gcNetParaBuffer[0].cInfo[3] = 200;
  91.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);  

  92.                
  93.                 gcNetParaBuffer[0].M_id    = WIFI_TCPMASET;
  94.                 gcNetParaBuffer[0].cLength = 1;
  95.                 gcNetParaBuffer[0].cInfo[0] = 1;  // 255,255,255,0
  96.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);  
  97.        
  98.                 gcNetParaBuffer[0].M_id    = WIFI_TCPGATEWAY;
  99.                 gcNetParaBuffer[0].cLength = 4;
  100.                 gcNetParaBuffer[0].cInfo[0] = 192;  // 192.168.1.1
  101.                 gcNetParaBuffer[0].cInfo[1] = 168;
  102.                 gcNetParaBuffer[0].cInfo[2] = 1;
  103.                 gcNetParaBuffer[0].cInfo[3] = 1;
  104.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);  
  105.        
  106.                 gcNetParaBuffer[0].M_id    = WIFI_TCPSERVERIP;
  107.                 gcNetParaBuffer[0].cLength = 4;
  108.                 gcNetParaBuffer[0].cInfo[0] = 192;  // 192.168.1.20
  109.                 gcNetParaBuffer[0].cInfo[1] = 168;
  110.                 gcNetParaBuffer[0].cInfo[2] = 1;
  111.                 gcNetParaBuffer[0].cInfo[3] = 20;
  112.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);  

  113.                 gcNetParaBuffer[0].M_id    = WIFI_TCPPORT;
  114.                 gcNetParaBuffer[0].cLength = 2;
  115.                 gcNetParaBuffer[0].cInfo[0] = 0x17;  // 6000
  116.                 gcNetParaBuffer[0].cInfo[1] = 0x70;
  117.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);

  118.                 gcNetParaBuffer[0].M_id    = WIFI_ENCRYPTTYPE;
  119.                 gcNetParaBuffer[0].cLength = 1;
  120.                 gcNetParaBuffer[0].cInfo[0] = 1; //
  121.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);  //
  122.                
  123.                 gcNetParaBuffer[0].M_id    = WIFI_ENKEY;
  124.                 gcNetParaBuffer[0].cLength = 64;

  125.                 gcNetParaBuffer[0].M_id    = WIFI_BSSID;
  126.                 gcNetParaBuffer[0].cLength = 6;
  127.                 gcNetParaBuffer[0].cInfo[0] = 0x00; //
  128.                 gcNetParaBuffer[0].cInfo[1] = 0x1a;
  129.                 gcNetParaBuffer[0].cInfo[2] = 0x70;
  130.                 gcNetParaBuffer[0].cInfo[3] = 0x35;
  131.                 gcNetParaBuffer[0].cInfo[4] = 0xb9;
  132.                 gcNetParaBuffer[0].cInfo[5] = 0x32;
  133.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);
  134.                 // channel
  135.                 gcNetParaBuffer[0].M_id    = WIFI_CHANEL;
  136.                 gcNetParaBuffer[0].cLength = 1;
  137.                 gcNetParaBuffer[0].cInfo[0] = 6;
  138.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],0);  
  139.                 // SSID  // 推薦用00填充后面沒有使用的空白區
  140.                 gcNetParaBuffer[0].M_id    = WIFI_SSID;  
  141.                 gcNetParaBuffer[0].cLength = 33;
  142.                 gcNetParaBuffer[0].cInfo[0] = 'H';
  143.                 gcNetParaBuffer[0].cInfo[1] = 'L';
  144.                 gcNetParaBuffer[0].cInfo[2] = 'K';
  145.                 memset(&gcNetParaBuffer[0].cInfo[2],0,30);
  146.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],0);  // 加載在第一組參數組號中
  147.                
  148.                 // 數據類型 tcp udp  raw
  149.                 gcNetParaBuffer[0].M_id    = WIFI_DATATYPE;
  150.                 gcNetParaBuffer[0].cLength = 1;
  151.                 gcNetParaBuffer[0].cInfo[0] = u8DataType;
  152.                 WIFISetNetPara(0xb1,&gcNetParaBuffer[0],0);  // 加載在第一組參數組號中
  153.                
  154.                 // tcp 使能監聽,可以做服務端器使用,可以做到雙向隨時發起通訊
  155.                 if(u8DataType == 2)
  156.                 {
  157.                         gcNetParaBuffer[0].M_id    = WIFI_TCPMONITOR;
  158.                         gcNetParaBuffer[0].cLength = 1;
  159.                         gcNetParaBuffer[0].cInfo[0] = 1;
  160.                         WIFISetSysPara(&gcNetParaBuffer[0],0);
  161.                         ///WIFISetNetPara(0xb1,&gcNetParaBuffer[0],1);  // 加載在第一組參數組號中
  162.                 }

  163.                 WifiSendAck();
  164.                 WifiSendNomalData(parmid,23,1);

  165.                
  166.                 {
  167.                 ScanNetWork(0x3fff,1);       
  168.                         WIFIRequerNetPara(0xb1,23,parmid,1);
  169.                 }


  170. }

  171. void WifiLink(unsigned char u8LinkGrup)
  172. {
  173.         unsigned long  u32TimeOut;
  174.        
  175.         u8LinkState = 0;
  176.         WIFIJoinAp(u8LinkGrup,1);                    
  177.         while( (gcReceComm1OK != 0) || (u32TimeOut < 0x2ffffff) );
  178.         {
  179.                 if(gcReceComm1OK)
  180.                 {
  181.                         if( (ATReceBuffer[0].gcATReceData[5] == LINKNET_END)  && (ATReceBuffer[0].gcATReceData[6] == 0) )
  182.                         {
  183.                                  u8LinkState = 1;
  184.                         }
  185.                 }
  186.         }
  187. }
復制代碼



作者: 領123    時間: 2017-6-13 07:11
真可以
作者: ICOM    時間: 2017-6-13 09:03
必須支持
作者: shuijingshijie    時間: 2017-8-29 09:01
學習一下
作者: piplxh    時間: 2017-9-2 15:14
很好的學習冽程
作者: wuxin2004    時間: 2017-9-7 22:25
很好的資料!多謝樓主分享
作者: cygjl    時間: 2017-10-13 15:25
超級想要
作者: functionc    時間: 2018-4-8 13:52
樓主,能說下解壓密碼嗎
作者: 大東小夢    時間: 2018-4-10 23:45
樓主,求解壓密碼啊
作者: mifu    時間: 2018-4-13 17:52
解壓密碼能否說一下呢
作者: mifu    時間: 2018-4-13 17:56
忘記帶腦子了,找到解壓密碼了
作者: snow_    時間: 2018-5-21 16:22
是用51加WiFi芯片嗎
作者: zjnbzm    時間: 2018-6-27 16:23
樓主,求解壓密碼啊
作者: Atk01    時間: 2018-7-24 12:56
學習了,謝謝分享!
作者: qxqy080602    時間: 2018-7-24 13:49
學習一下,拓展下自己的能力
作者: 644727452    時間: 2018-10-11 09:34
為啥都有密碼呀
作者: ⑨掌門    時間: 2018-11-7 20:23
zjnbzm 發表于 2018-6-27 16:23
樓主,求解壓密碼啊

你打開  就在右邊就寫著解壓密碼呢
作者: qujilu    時間: 2019-6-25 20:59
學習中,謝謝分享
作者: 12311306    時間: 2019-7-3 10:24
我需要。。。
作者: NOP12    時間: 2019-7-14 20:08
這個是哪家的模塊啊
作者: jemery1030    時間: 2019-7-24 10:39
肯定要支持
作者: ttl12138    時間: 2019-7-24 11:32
支持支持,程序結構很明確
作者: 3236758240    時間: 2019-7-24 11:59
單片機編程怎么弄H文件啊?h文件怎么用啊?





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1