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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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. }
復制代碼


評分

參與人數 2黑幣 +55 收起 理由
Blackboy + 5 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:169164 發表于 2017-6-13 07:11 | 只看該作者
真可以
回復

使用道具 舉報

板凳
ID:189630 發表于 2017-6-13 09:03 | 只看該作者
必須支持
回復

使用道具 舉報

地板
ID:229786 發表于 2017-8-29 09:01 | 只看該作者
學習一下
回復

使用道具 舉報

5#
ID:199188 發表于 2017-9-2 15:14 | 只看該作者
很好的學習冽程
回復

使用道具 舉報

6#
ID:8691 發表于 2017-9-7 22:25 | 只看該作者
很好的資料!多謝樓主分享
回復

使用道具 舉報

7#
ID:236780 發表于 2017-10-13 15:25 | 只看該作者
超級想要
回復

使用道具 舉報

8#
ID:246250 發表于 2018-4-8 13:52 | 只看該作者
樓主,能說下解壓密碼嗎
回復

使用道具 舉報

9#
ID:296147 發表于 2018-4-10 23:45 | 只看該作者
樓主,求解壓密碼啊
回復

使用道具 舉報

10#
ID:286582 發表于 2018-4-13 17:52 | 只看該作者
解壓密碼能否說一下呢
回復

使用道具 舉報

11#
ID:286582 發表于 2018-4-13 17:56 | 只看該作者
忘記帶腦子了,找到解壓密碼了
回復

使用道具 舉報

12#
ID:334617 發表于 2018-5-21 16:22 | 只看該作者
是用51加WiFi芯片嗎
回復

使用道具 舉報

13#
ID:359281 發表于 2018-6-27 16:23 | 只看該作者
樓主,求解壓密碼啊
回復

使用道具 舉報

14#
ID:378253 發表于 2018-7-24 12:56 | 只看該作者
學習了,謝謝分享!
回復

使用道具 舉報

15#
ID:377919 發表于 2018-7-24 13:49 | 只看該作者
學習一下,拓展下自己的能力
回復

使用道具 舉報

16#
ID:407873 發表于 2018-10-11 09:34 | 只看該作者
為啥都有密碼呀
回復

使用道具 舉報

17#
ID:260379 發表于 2018-11-7 20:23 | 只看該作者
zjnbzm 發表于 2018-6-27 16:23
樓主,求解壓密碼啊

你打開  就在右邊就寫著解壓密碼呢
回復

使用道具 舉報

18#
ID:478963 發表于 2019-6-25 20:59 | 只看該作者
學習中,謝謝分享
回復

使用道具 舉報

19#
ID:576936 發表于 2019-7-3 10:24 | 只看該作者
我需要。。。
回復

使用道具 舉報

20#
ID:584036 發表于 2019-7-14 20:08 | 只看該作者
這個是哪家的模塊啊
回復

使用道具 舉報

21#
ID:585455 發表于 2019-7-24 10:39 | 只看該作者
肯定要支持
回復

使用道具 舉報

22#
ID:589455 發表于 2019-7-24 11:32 | 只看該作者
支持支持,程序結構很明確
回復

使用道具 舉報

23#
ID:451232 發表于 2019-7-24 11:59 | 只看該作者
單片機編程怎么弄H文件啊?h文件怎么用啊?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 伊人久久国产 | 午夜无码国产理论在线 | 午夜精品一区二区三区在线视频 | 日韩1区 | 日韩在线国产 | 日韩精品一区二区三区视频播放 | 亚洲性综合网 | 国产精品99精品久久免费 | 97视频精品 | a久久 | 久久久久久久电影 | 亚洲一区二区三区免费视频 | 国产视频久久久 | 久久久久久久久久久成人 | 国产亚洲一区二区三区在线 | 亚洲日韩中文字幕一区 | 日本xx视频免费观看 | 国产高清性xxxxxxxx | av一区二区三区四区 | 日韩在线观看网站 | 欧美黄在线观看 | 精品伦精品一区二区三区视频 | 香蕉大人久久国产成人av | 国产一区二区三区视频 | 久久99久久99 | 精品成人一区 | 国产一区二区三区在线免费 | 在线成人www免费观看视频 | av播播 | 国产免费一二三区 | 国产农村一级片 | 欧美精品三区 | 欧美视频福利 | 欧美日韩在线成人 | 亚洲在线视频 | 美女在线视频一区二区三区 | 国产亚洲一区精品 | 成人三级视频在线观看 | 国产色网 | 午夜电影网站 | 久久久www成人免费精品 |