wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5193|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

STM32安卓APP控制+單片機(jī)315M/433M無線解碼的十路遙控開關(guān)源碼_學(xué)習(xí)型_成品

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
手機(jī)控制由易安卓5.8編寫的。
APP原理圖與線路圖由PADS9.5編輯。
一些調(diào)試工具由易語言編輯。

http://www.izizhuan.cn/bbs/dpj-54638-1.html 單路
http://www.izizhuan.cn/bbs/dpj-54161-1.html 四路
模擬315M/433M 2272解碼程序
工作頻率:72M
說明:10路繼電器輸出,10LED指示,1LED電源指示,1微動(dòng)開關(guān)K1。
          按K1進(jìn)入編輯模式,LED指示燈全亮。
          在編輯模式下 ,按下遙控器鈕,LED1亮>>LED2亮>>....>>LED10亮>>全亮(此模式存儲(chǔ)的遙控碼是關(guān)閉所有的LED)>>退出編輯模式。
          在編輯模式下 ,按K1退出編輯模式或存儲(chǔ)有效的遙控碼。
          在編輯模式下 ,長(zhǎng)按K1 (3S) 調(diào)整遙控模式。   
          在正常模式下,長(zhǎng)按K1 (3S) 刪除所有存儲(chǔ)的遙控碼。      
          在正常模式下 , 按下遙控器鈕,及相應(yīng)的LED.繼電器亮滅。
注意: 同一條遙控碼 在同一個(gè)LED上存兩條,相當(dāng)于亮了又滅,無動(dòng)作。
優(yōu)點(diǎn): 能接收2262的1.2M-4.7M電阻編碼,幾乎所有的315M遙控器都兼容。
         由于定時(shí)讀引腳,抗干擾能力強(qiáng) ,和硬件解碼距離無區(qū)別。

成品由洞洞板制作。
STM32選用STM32103C8T6最小系統(tǒng)開發(fā)板。
WiFI模塊選用ESP8266 ESP-07,軟件升級(jí)到V1.62版。
無線模塊選用315M或433M超外差模塊
3.3V選用DC12-DC3.3轉(zhuǎn)換模塊



所有資料51hei提供下載:
STM32-v1.62.7z (5.07 MB, 下載次數(shù): 77)
8266升級(jí)資料.7z (1.39 MB, 下載次數(shù): 57)

單片機(jī)源程序如下:

  1. /*******************************************************************************
  2. *        
  3. * 軟件功能:         遙控解碼10# 主頻72M
  4. *
  5. *******************************************************************************/
  6. #include "stm32f10x.h"

  7. //-----變量&常量定義-----
  8. #define DaiMaTiaoSu_100  100    //遙控條數(shù)
  9. #define YaoKongSu_5  10         //遙控碼長(zhǎng)度
  10. #define Key_600  600            //長(zhǎng)按鍵時(shí)間計(jì)數(shù),3秒時(shí)間

  11. u16 T2RL = 124*2-1;  //定時(shí)器重裝值;
  12. u8 ircode[9];               //[0-5]2次脈沖解碼值                [6-8]解碼最終值
  13. u8 Tm1[50];          //0空位 1-24遙控碼脈沖 25同步碼 26-49第二次遙控碼脈沖
  14. u8 Tm_bz[]={ 31 ,156 ,114 ,134 ,2 ,16 ,8 };
  15. //基準(zhǔn):0-1同步碼時(shí)間范圍,  2-3 同步碼124a范圍,  4-5 寬窄脈沖碼4-12a范圍,  6        寬窄脈沖

  16. 碼中間值
  17. //遙控碼發(fā)射時(shí)鐘=1a,   1M電阻:1a=31us 5M電阻:1a=156us            
  18. //由于stc89c52單片機(jī)中斷時(shí)間內(nèi)執(zhí)行指令數(shù)少,只能到 1a=60us.用stc15fXX是1T模式(同時(shí)鐘頻率

  19. 下是89c52單片機(jī)6-12倍)————全兼容        

  20. u16 E2BiaoJi;              //Flash空位位置值
  21. u8 ms =1;                         //防止誤觸延時(shí)&計(jì)數(shù)
  22. u8 BJ_500ms = 0;     //解碼值有效時(shí)間0.5S標(biāo)記
  23. u8 BJ_PulsrGood = 0; //脈沖讀完標(biāo)記
  24. u8 BJ_Traversal=0;         //Flash遍歷標(biāo)記
  25. u8 BJ_edit = 0;             //進(jìn)入編輯標(biāo)記
  26. u8 BJ_KeyLong=0;           //長(zhǎng)按鍵標(biāo)記
  27. u8 BJ_KeyShort=0;           //短按鍵標(biāo)記   
  28. u16 Key_JiShu=0;           //長(zhǎng)按鍵3秒計(jì)數(shù)
  29. u16 JIBU=0;          //按鍵第幾步標(biāo)記
  30. u16 LED_ZT=0;        //LED狀態(tài)緩存標(biāo)記

  31. u32 Net_No=0;        //定時(shí)聯(lián)網(wǎng)檢測(cè)處理
  32. u8 WiFi_200=0;             //200MS標(biāo)記
  33. u8 WiFi_OK=0;               //模塊返回?cái)?shù)據(jù)與比對(duì)值匹配標(biāo)記
  34. u8 WiFi_Hao;                     //返回消息的通道號(hào)
  35. u8 Index;                         //比對(duì)值索引;
  36. u8 WiFi_Step=0;      //模塊啟動(dòng)執(zhí)行到的步數(shù)                           

  37. /*以下為WiFi模塊接收處理函數(shù)*/
  38. void WiFi_initial(void);                       //模塊初始化流程
  39. void WiFi_initial0(u8 dat,u8 Ten, u8 sx);//AT初始化流程_子程序
  40. void WiFi_initial1(u8 dat,u8 Ten, u8 sx);//AT初始化流程_子程序
  41. void Command(u8 *ptr, u8 len);           //命令的匯總處理,收到的數(shù)據(jù)格式
  42. void AT_CIPSEND(u8 *ptr,u8 len);                     //AT命令組裝并發(fā)送
  43. u8 LED_state(u8 *ptr,u8 len);            //LED狀態(tài)提取準(zhǔn)備返回
  44. void Check(u8 *ptr, u8 len, u8 Ten);     //位異或校驗(yàn)
  45.                                                                                                 

  46.                                        
  47. /*以下為模擬2262解碼調(diào)用函數(shù) */
  48. void Configuration_2262(void);//初始化
  49. void BM_KeyLong(void);              //長(zhǎng)按鍵處理_刪除遙控碼及處理遙控條碼輸出狀態(tài)
  50. void BM_KeyShort(void);                    //短按鍵處理_進(jìn)入退出編輯模式,存儲(chǔ)遙控條碼等功能
  51. void LED_add(void);                              //編輯模式下LED順序累加
  52. void Decoding(u8 add);              //脈沖解碼 ,接收到脈沖編譯成遙控條碼
  53. void BM_PulsrDecoding(void);       //脈沖解碼>>接收到的兩次編碼比較>>接收的編碼和防止誤

  54. 觸延時(shí)編碼比較
  55. void LED_KeyLong_State(void);      //LED長(zhǎng)按鍵后的狀態(tài)
  56. void BM_Flash_Traversal(void);     //Flash中查找對(duì)應(yīng)值
  57. void LED_Mode(u16 add,u16 add1);         //LED動(dòng)作程序,LED模式變換


  58. /*************************************************
  59. 函數(shù): int main(void)
  60. 功能: main主函數(shù)
  61. 參數(shù): 無
  62. 返回: 無
  63. **************************************************/
  64. int main(void)
  65. {
  66.         RCC_Configuration();           //復(fù)位和時(shí)鐘控制配置72M
  67.         GPIO_Configuration();          //初始化GPIO配置
  68.         delay_init(SYSCLK_MHZ);        //SysTick定時(shí)器做為延時(shí)函數(shù)的初始化程序

  69. (SYSCLK_MHZ=72)
  70.         ConfigTimer_TIM2(124);               //定時(shí)器2配置 1ns
  71.         ConfigTimer_TIM3(5);                 //定時(shí)器3配置 1ms
  72.         USART1_Configuration(115200);  //初始化USART1配置
  73.         IWDG_Init_1S();                //初始化獨(dú)立看門狗時(shí)間:1S
  74.         Configuration_2262();          //2622模擬解碼初始化               

  75.         //printf("向串口輸出字符串\r\n");
  76.         while (1)
  77.         {                                         //AT流程用
  78.                 UartDriver();                    //調(diào)用串口驅(qū)動(dòng) 監(jiān)測(cè)數(shù)據(jù)幀的接收 有命令

  79. 到達(dá)時(shí)
  80.                 if(WiFi_200)                     //200ms進(jìn)入流程標(biāo)記
  81.                 {   
  82.                         WiFi_200=0;                    //200ms標(biāo)記
  83.                         WiFi_initial();                                         //模塊初始化&工

  84. 作流程
  85.                         LED_KeyLong_State();                                   //LED在長(zhǎng)按按

  86. 鍵下的狀態(tài)
  87.                 }                  
  88.                                                  //2262模擬解碼流程用
  89.                 if(BJ_PulsrGood)                 //脈沖讀完標(biāo)記
  90.                 { BJ_PulsrGood=0; BM_PulsrDecoding(); }         //2622模擬解碼用
  91.                 if(BJ_Traversal)                               //Flash遍歷標(biāo)記
  92.                 { BJ_Traversal=0; BM_Flash_Traversal(); }//Flash中查找對(duì)應(yīng)值                  

  93.       
  94.                 if(BJ_KeyLong)                                 //長(zhǎng)按鍵標(biāo)記
  95.                 { BJ_KeyLong=0; BM_KeyLong(); }                  
  96.                 if(BJ_KeyShort)                                 //短按鍵標(biāo)記
  97.                 { BJ_KeyShort=0; BM_KeyShort(); }

  98.         }   
  99. }



  100. /*===============================================================================  
  101.   以下為AT控制流程
  102.   ===============================================================================*/
  103. /*************************************************
  104. 函數(shù): void WiFi_initial()        
  105. 功能: AT初始化流程  200ms進(jìn)入一次中斷標(biāo)記進(jìn)入
  106. 參數(shù): 無
  107. 返回: 無
  108. **************************************************/
  109. void WiFi_initial(void)         
  110. {                              
  111.         switch (WiFi_Step)           //第幾步索引值
  112.         {         //--------------------正常模式-入口---------------------------------
  113.                  case 0:                                 
  114.                         WiFi_initial0(0,1,0);//AT就緒查詢
  115.                         break;
  116.                  case 1:                                 
  117.                         WiFi_initial0(1,2,0);//關(guān)閉回顯
  118.                         break;
  119.                  case 2:
  120.                         WiFi_initial0(7,3,0);//啟用多線程
  121.                         break;
  122.                  case 3:
  123.                         WiFi_initial0(8,4,0);//啟用服務(wù)器功能
  124.                         break;
  125.                  case 4:
  126.                         Index=0; WiFi_Step=5;//比對(duì)值索引
  127.                         break;        
  128.                  case 5:        
  129.                         if(Net_No++>1500)
  130.       {Net_No=0; WiFi_Step=6; }//5分鐘聯(lián)網(wǎng)檢測(cè)
  131.                         break;
  132.                  case 6:        
  133.                         WiFi_initial0(11,7,4); //查詢網(wǎng)絡(luò)連接信息
  134.                         break;        
  135.                  case 7:        
  136.                         WiFi_initial1(3,13,4); //掃描當(dāng)前可用的 AP
  137.                         break;                        
  138.                  //------------------------退出設(shè)置模式-入

  139. 口-----------------------------
  140.                  case 10:                                 
  141.                         WiFi_initial1(0,11,0); //配置 ESP8266 SoftAP 當(dāng)前參數(shù),保存到

  142. Flash
  143.                         break;
  144.                  case 11:
  145.                         WiFi_initial1(1,12,0); //設(shè)置 ESP8266 Station 的 IP 地址,保存到

  146. Flash
  147.                         break;
  148.                  case 12:
  149.                         WiFi_initial1(2,13,0); //連接 AP,保存到 Flash
  150.                         break;                                 
  151.                  case 13:        
  152.                         WiFi_initial0(9,0,0);  //重啟模塊
  153.                         break;
  154.                   //----------------連接臨時(shí)AP后查詢反饋-入

  155. 口---------------------------------
  156.                  case 15:                                   
  157.                         WiFi_initial0(0,16,15);//AT就緒查詢
  158.                         break;                 
  159.                  case 16:
  160.                         if(BJ_edit)
  161.                         WiFi_initial0(10,28,28);//查詢指令連接AP情況
  162.                         else
  163.                         WiFi_initial0(10,0,0);//查詢指令連接AP情況
  164.                         break;
  165.                  //------------------設(shè)置模式-入口-----------------------------------
  166.                  case 20:                        
  167.                         WiFi_initial0(0,21,20);//AT就緒查詢
  168.                         break;
  169.                  case 21:
  170.                         WiFi_initial0(2,22,20);//設(shè)置為AT工作模式        
  171.                         break;
  172.                  case 22:
  173.                         WiFi_initial0(3,23,20);//設(shè)置SoftAP配置        
  174.                         break;
  175.                  case 23:
  176.                         WiFi_initial0(4,24,20);//設(shè)置上電時(shí)動(dòng)連接 AP
  177.                         break;
  178.                  case 24:         
  179.                         WiFi_initial0(5,25,20);//退出與AP的連接
  180.                         break;
  181.                  case 25:
  182.                         WiFi_initial0(6,26,20);//設(shè)置DHCP,不保存到Flash,確保自動(dòng)獲取IP
  183.                         break;        
  184.                  case 26:
  185.                         WiFi_initial0(7,27,20);//啟用多線程
  186.                         break;
  187.                  case 27:
  188.                         WiFi_initial0(8,28,20);//啟用服務(wù)器功能
  189.                         break;
  190.                  case 28:
  191.                         Index=0;  WiFi_Step=29;//比對(duì)值索引
  192.                         break;                        
  193.                 default:
  194.                         break;
  195.         }            
  196. }
  197. /*************************************************
  198. 函數(shù): void WiFi_initial0(u8 dat,u8 Ten, u8 sx)
  199. 功能: AT初始化流程_ 發(fā)往WiFi模塊命令用
  200. 參數(shù): dat-命令索引值 Ten—成功跳轉(zhuǎn)值索引 sx=失敗跳轉(zhuǎn)值
  201. 返回: 無
  202. **************************************************/
  203. void WiFi_initial0(u8 dat,u8 Ten, u8 sx)
  204. {
  205.         static u8 WiFi_0[] = "AT\r\n";                                  //AT就緒查詢
  206.         static u8 WiFi_1[] = "ATE0\r\n";                    //關(guān)閉回顯
  207.         static u8 WiFi_2[] = "AT+CWMODE_DEF=3\r\n";                //設(shè)置為AT模式,保存到

  208. Flash
  209.         static u8 WiFi_3[] = "AT+CWSAP_CUR=\"AT-01\",\"12345678\",8,4\r\n";          //配置

  210. ESP8266 SoftAP 當(dāng)前參數(shù),不保存到Flash
  211.         static u8 WiFi_4[] = "AT+CWAUTOCONN=1\r\n";                //設(shè)置上電時(shí)自動(dòng)連接 AP        

  212. ,保存到Flash
  213.         static u8 WiFi_5[] = "AT+CWQAP\r\n";                      //退出與AP的連接
  214.         static u8 WiFi_6[] = "AT+CWDHCP_CUR=1,1\r\n";                          //設(shè)置 DHCP,不

  215. 保存到Flash ,確保自動(dòng)獲取IP
  216.         static u8 WiFi_7[] = "AT+CIPMUX=1\r\n";                    //啟用多線程
  217.         static u8 WiFi_8[] = "AT+CIPSERVER=1,19730\r\n";          //啟用服務(wù)器功能
  218.         static u8 WiFi_9[] = "AT+RST\r\n";                        //重啟模塊
  219.         static u8 WiFi_10[] = "AT+CIFSR\r\n";                      //查詢本地 IP 地
  220.         static u8 WiFi_11[] = "AT+CIPSTATUS\r\n";            //查詢網(wǎng)絡(luò)連接信息

  221.         static u8 WiFi_fasong=1;   //命令發(fā)送標(biāo)記
  222.         static u8 JiShi=0;                     //命令發(fā)送時(shí)間計(jì)數(shù)
  223.         static u8 WiFi_Len[] = { sizeof(WiFi_0)-1, sizeof(WiFi_1)-1, sizeof(WiFi_2)-1,

  224. sizeof(WiFi_3)-1, sizeof(WiFi_4)-1, sizeof(WiFi_5)-1,
  225.                                                                                 sizeof

  226. (WiFi_6)-1, sizeof(WiFi_7)-1, sizeof(WiFi_8)-1, sizeof(WiFi_9)-1, sizeof(WiFi_10)-1,

  227. sizeof(WiFi_11)-1};
  228.         static u8 * WiFi_Ptr[] = {&WiFi_0[0],  &WiFi_1[0],  &WiFi_2[0],  &WiFi_3[0],  

  229. &WiFi_4[0],  &WiFi_5[0], &WiFi_6[0],  &WiFi_7[0],  
  230.                                                                                 &WiFi_8

  231. [0],  &WiFi_9[0],  &WiFi_10[0],  &WiFi_11[0]};
  232.         static u8 WiFi_syz[] = { 1,1,1,1, 1,1,1,1, 1,1,2,3 };  //WiFi模塊收到數(shù)據(jù)比對(duì)值

  233. 索引
  234.         
  235.         Shi_LED2=0;
  236.         Index=WiFi_syz[dat];//比對(duì)值索引
  237.         if(WiFi_fasong)            //發(fā)送數(shù)據(jù)
  238.         {  WiFi_fasong=0;  UartWrite(WiFi_Ptr[dat], WiFi_Len[dat]); }
  239.         if(WiFi_OK)                       //比對(duì)成功返回標(biāo)記
  240.         {  WiFi_OK=0;  WiFi_fasong=1; JiShi=0;  WiFi_Step=Ten; Shi_LED2=1;return;}
  241.         if(JiShi++>10)                  //超時(shí)認(rèn)定失敗
  242.         {  WiFi_fasong=1; JiShi=0; WiFi_Step=sx;}
  243.         Shi_LED2=1;
  244. }

  245. /*************************************************
  246. 函數(shù): void WiFi_initial1(u8 dat,u8 Ten, u8 sx)
  247. 功能: AT初始化流程_ 發(fā)往WiFi模塊命令用
  248. 參數(shù): dat-命令索引值 Ten—成功跳轉(zhuǎn)值索引 sx=失敗跳轉(zhuǎn)值
  249. 返回: 無
  250. **************************************************/
  251. void WiFi_initial1(u8 dat,u8 Ten, u8 sx)
  252. {
  253.         static u8 Zfc_0[]="AT+CWSAP_DEF=\"AT_01\",\""; //配置 ESP8266 SoftAP 當(dāng)前參數(shù),

  254. 保存到 Flash
  255.         static u8 Zfc_1[]="12345678";
  256.         static u8 Zfc_2[]="\",8,4\r\n";
  257.         static u8 Zfc_3[]="AT+CWJAP_DEF=\"";           //連接 AP,保存到 Flash
  258.         static u8 Zfc_4[]="XX0XX";
  259.         static u8 Zfc_5[]="\",\"";
  260.         static u8 Zfc_6[]="\"\r\n";
  261.         static u8 Zfc_7[]="AT+CIPSTA_DEF=\"";          //設(shè)置 ESP8266 Station 的 IP 地址

  262. ,保存到 Flash
  263.         static u8 Zfc_8[]="AT+CWLAP=\"";               //掃描當(dāng)前可用的 AP
  264.         static u8 WiFi_fasong=1;     //命令發(fā)送標(biāo)記        
  265.         static u8 JiShi=0;                       //命令發(fā)送時(shí)間計(jì)數(shù)
  266.         static u8 WiFi_syx[] = { 1,1,1,4 }; //WiFi模塊收到數(shù)據(jù)比對(duì)值索引
  267.         
  268.         u8 WiFi1[60];
  269.         u8 WiFi1_len=0;
  270.         u8 WiFi1_TAN=0;
  271.   
  272.         Shi_LED2=0;
  273.         Index=WiFi_syx[dat] ;        //比對(duì)值索引
  274.         if(WiFi_fasong)              //發(fā)送數(shù)據(jù)
  275.         {   WiFi_fasong=0;
  276.                
  277.                   switch(dat)
  278.                         {                        
  279.                                 case 0: WiFi1_len=Add_Merge0(WiFi1,WiFi1_len,Zfc_0);     

  280.         //配置 ESP8266 SoftAP 當(dāng)前參數(shù),保存到 Flash
  281.                                                                 WiFi1_TAN= WiFi1_len;
  282.                                                                 WiFi1_len=FLASH_read_8

  283. (FLASH_Address[2],WiFi1,WiFi1_len);//FLASH讀出密碼
  284.                                                                 if(WiFi1_TAN==WiFi1_len)
  285.                                                                 WiFi1_len=Add_Merge0

  286. (WiFi1,WiFi1_len,Zfc_1);
  287.                                                                 WiFi1_len=Add_Merge0

  288. (WiFi1,WiFi1_len,Zfc_2);
  289.                                 break;
  290.                                 case 1: WiFi1_len=Add_Merge0(WiFi1,WiFi1_len,Zfc_7);     

  291.         //設(shè)置 ESP8266 Station 的 IP 地址,保存到 Flash
  292.                                                                 WiFi1_TAN= WiFi1_len;
  293.                                                                 WiFi1_len=FLASH_read_8

  294. (FLASH_Address[3],WiFi1,WiFi1_len);//FLASH讀出IP
  295.                                                                 if(WiFi1_TAN==WiFi1_len)
  296.                                                                 WiFi1_len=Add_character

  297. (WiFi1,WiFi1_len,'0');
  298.                                                                 WiFi1_len=Add_Merge0

  299. (WiFi1,WiFi1_len,Zfc_6);
  300.                                 break;
  301.                                 case 2: WiFi1_len=Add_Merge0(WiFi1,WiFi1_len,Zfc_3);     

  302.         //連接 AP,保存到 Flash
  303.                                                                 WiFi1_TAN= WiFi1_len;
  304.                                                                 WiFi1_len=FLASH_read_8

  305. (FLASH_Address[1],WiFi1,WiFi1_len);//FLASH讀出賬號(hào)
  306.                                                                 if(WiFi1_TAN==WiFi1_len)
  307.                                                                 WiFi1_len=Add_Merge0

  308. (WiFi1,WiFi1_len,Zfc_4);
  309.                                                                 WiFi1_len=Add_Merge0

  310. (WiFi1,WiFi1_len,Zfc_5);
  311.                                                                 WiFi1_TAN= WiFi1_len;
  312.                                                                 WiFi1_len=FLASH_read_8

  313. (FLASH_Address[2],WiFi1,WiFi1_len);//FLASH讀出密碼
  314.                                                                 if(WiFi1_TAN==WiFi1_len)
  315.                                                                 WiFi1_len=Add_Merge0

  316. (WiFi1,WiFi1_len,Zfc_1);
  317.                                                                 WiFi1_len=Add_Merge0

  318. (WiFi1,WiFi1_len,Zfc_6);
  319.                                 break;
  320.                                 case 3: WiFi1_len=Add_Merge0(WiFi1,WiFi1_len,Zfc_8);     

  321.         //掃描當(dāng)前可用的 AP
  322.                                                                 WiFi1_TAN= WiFi1_len;
  323.                                                                 WiFi1_len=FLASH_read_8

  324. (FLASH_Address[1],WiFi1,WiFi1_len);//FLASH讀出賬號(hào)
  325.                                                                 if(WiFi1_TAN==WiFi1_len)
  326.                                                                 WiFi1_len=Add_Merge0

  327. (WiFi1,WiFi1_len,Zfc_4);
  328.                                                                 WiFi1_len=Add_Merge0

  329. (WiFi1,WiFi1_len,Zfc_6);
  330.                                 break;
  331.                                 default:break;
  332.                         }
  333.                         UartWrite(WiFi1, WiFi1_len);
  334.         }
  335.         if(WiFi_OK)                      //比對(duì)成功返回標(biāo)記
  336.         {  WiFi_OK=0;  WiFi_fasong=1; JiShi=0; WiFi_Step=Ten; Shi_LED2=1;return;}         
  337.         if(JiShi++>10)                 //超時(shí)認(rèn)定失敗
  338.         { WiFi_fasong=1; JiShi=0; WiFi_Step=sx;}
  339.         Shi_LED2=1;
  340. }

  341. /*************************************************
  342. 函數(shù): void UartAction(u8 *ptr, u8 len)
  343. 功能: 串口動(dòng)作函數(shù),根據(jù)接收到的數(shù)據(jù)響應(yīng)的動(dòng)作
  344. 參數(shù):  buf-接收到的數(shù)據(jù)幀指針,len-數(shù)據(jù)幀長(zhǎng)度
  345. 返回: 無
  346. **************************************************/
  347. void UartAction(u8 *ptr, u8 len)
  348. {
  349.         static u8 cmd0[] = "+IPD,";      //收到數(shù)據(jù)標(biāo)識(shí)
  350.         static u8 cmd1[] = "OK";
  351.         static u8 cmd2[] = "STAIP,\"";   //IP查詢返回標(biāo)識(shí)
  352.         static u8 cmd3[] = "STATUS:5";   //查詢網(wǎng)絡(luò)連接信息返回標(biāo)識(shí)
  353.         static u8 cmd4[] = "+CWLAP:";    //掃描當(dāng)前可用的AP返回標(biāo)識(shí)
  354.         static u8 LinS[] = "@@J000.000.000.000";
  355.         u8 cmdLen[] = {  sizeof(cmd0)-1, sizeof(cmd1)-1, sizeof(cmd2)-1, sizeof(cmd3)-1,

  356. sizeof(cmd4)-1};
  357.         u8 *cmdPtr[] = {&cmd0[0],  &cmd1[0],  &cmd2[0],  &cmd3[0],  &cmd4[0]};
  358.         u8 LinS_Tem = 3;
  359.         u8 FanHui,i;
  360.         
  361.         if (len >= cmdLen[Index])  //首先接收到的數(shù)據(jù)長(zhǎng)度要不小于對(duì)比值長(zhǎng)度
  362.         {   
  363.                 FanHui=Compare(ptr,len,cmdPtr[Index],cmdLen[Index]);
  364.                 if (FanHui>0)            //查找到匹配值
  365.                 {
  366.                         switch(Index)
  367.                         {                        
  368.                                 case 0: Command(ptr, FanHui);  //數(shù)據(jù)進(jìn)一步處理
  369.                                 break;
  370.                                 case 1: WiFi_OK=1;
  371.                                 break;
  372.                                 case 2: WiFi_OK=1;                                  //IP

  373. 查詢進(jìn)一步處理
  374.                                         for (i=0; i<16; i++)                        //返

  375. 回臨時(shí)IP值
  376.                                                                 { LinS[LinS_Tem++] =

  377. ptr[FanHui++]; }         
  378.                                                                 AT_CIPSEND

  379. (LinS,LinS_Tem);
  380.                                 break;
  381.                                 case 3: WiFi_OK=1;
  382.                                 break;
  383.                                 case 4: WiFi_OK=1;
  384.                                 break;
  385.                                 default:break;
  386.                         }
  387.                 }        
  388.         }        
  389. }


  390. /*************************************************
  391. 函數(shù): void Command(u8 *ptr, u8 len)
  392. 功能: 收到數(shù)據(jù)處理  數(shù)據(jù)格式; +IPD,0,15:@@AAT_00
  393. 參數(shù):  ptr-待處理數(shù)據(jù)  len-處理的起始位
  394. 返回: 無
  395. **************************************************/
  396. void Command(u8 *ptr, u8 len)
  397. {         
  398.         static u8 Zfc_0[]="AT+CWJAP_CUR=";
  399.         static u8 Zfc_1[]="\r\n";
  400.         static u8 Zfc_2[]="-err";
  401.         
  402.         u8 HuiDa[60];                       //回答字符串
  403.         u8 HuiDa_len = 0;      //回答字符串位置
  404.         u8 GeSu;                                       //到達(dá)數(shù)據(jù)長(zhǎng)度
  405.         u8 Ten;                //特定標(biāo)記位置
  406.         u16 i;
  407.         u32 Det;
  408.         
  409.         //計(jì)算校驗(yàn)值位置與數(shù)據(jù)長(zhǎng)度-------------------
  410.         if ( ptr[len+3]==':' && ptr[len+4]=='@' )
  411.         {
  412.                 Ten=len+5;           //定位命令字位置
  413.                 GeSu =ptr[len+2]-48; //計(jì)算收到數(shù)據(jù)長(zhǎng)度
  414.         }
  415.         else if (ptr[len+4]==':' && ptr[len+5]=='@' )
  416.         {  
  417.                 Ten=len+6;                  //定位命令字位置
  418.                 GeSu =(ptr[len+2]-48)*10;
  419.                 GeSu =GeSu+(ptr[len+3]-48); //計(jì)算收到數(shù)據(jù)長(zhǎng)度
  420.         }
  421.         else
  422.         return;
  423.         if(GeSu<3)                //收到數(shù)據(jù)長(zhǎng)度不夠
  424.         return;        

  425.         //校驗(yàn)數(shù)據(jù)正確性-----------------------------
  426.         ptr[0] = ptr[Ten];              // ptr[0]作為臨時(shí)變量使用,存放收到的校驗(yàn)值
  427.         Check(ptr, Ten, GeSu);    // 計(jì)算校驗(yàn)值
  428.         if(ptr[0] != ptr[Ten])          // 收到的校驗(yàn)值與計(jì)算的校驗(yàn)值比對(duì)
  429.         return;
  430.         //5分鐘聯(lián)網(wǎng)檢測(cè)-----------------------------
  431.         Net_No=0;  
  432.         //發(fā)送數(shù)據(jù)命令頭部組裝-----------------------
  433.         Ten++;                                                  //移到命令位
  434.         GeSu=GeSu-3;                                //去除3位標(biāo)識(shí)位
  435.         WiFi_Hao=ptr[len];              //保存收到數(shù)據(jù)的通道號(hào),發(fā)送數(shù)據(jù)用這個(gè)通道
  436.         HuiDa_len = Add_character(HuiDa,HuiDa_len,'@');      //待發(fā)送數(shù)據(jù)組裝
  437.         HuiDa_len++;                                         //校驗(yàn)值位
  438.         HuiDa_len = Add_character(HuiDa,HuiDa_len,ptr[Ten]); //待發(fā)送數(shù)據(jù)組裝
  439.         if(ptr[Ten]=='A')                                        //LED狀態(tài)消息處理
  440.         {  
  441.                 if(ptr[++Ten]=='0') ptr[0]=0; else ptr[0]=1;       //ptr[0]作為臨時(shí)變量

  442. ……………………

  443. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

來自 2#
ID:134239 發(fā)表于 2025-5-9 14:34 | 只看該作者
最新更新 家居控制.7z (563.42 KB, 下載次數(shù): 0)

易安卓APP.7z (12.89 MB, 下載次數(shù): 0)





回復(fù)

使用道具 舉報(bào)

板凳
ID:89704 發(fā)表于 2021-4-15 19:31 | 只看該作者
謝謝樓主,下載學(xué)習(xí)了!
回復(fù)

使用道具 舉報(bào)

地板
ID:89704 發(fā)表于 2021-4-15 22:31 | 只看該作者
上張實(shí)物圖看看!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
久久精品偷拍视频| 美国黄色片视频| 久草在现在线| 欧美韩国日本不卡| 中文字幕成人一区| 乳奴隷乳フ辱julia在线观看| 久久亚洲电影| 91久久久国产精品| 天天爽夜夜爽夜夜爽| 综合天堂av久久久久久久| 欧美激情视频给我| 日本精品入口免费视频| 久久精品66| 中文欧美日本在线资源| 69av.com| 亚洲欧洲专区| 日韩精品免费电影| 久热这里有精品| 日本久久久久| 国产网站欧美日韩免费精品在线观看| 黄色片网站在线播放| 欧美大片1688| 欧美成人乱码一区二区三区| 黄色av免费播放| 韩日一区二区| 日韩精品免费观看| 2021亚洲天堂| 亚洲无线观看| 久久综合久久美利坚合众国| 久久久久久久久久成人| 欧美精美视频| 欧美乱大交xxxxx另类电影| 波多野结衣家庭主妇| 国模精品一区| 欧美专区第一页| 欧美特黄一级视频| 亚洲人成在线影院| 99在线观看视频| 国产在线视频精品视频免费看| 美女在线观看视频一区二区| 国产激情一区二区三区在线观看| 欧美成人精品福利在线视频| 久久激情五月婷婷| 视频一区视频二区视频| 在线观看黄色av网站| 久久这里只有精品首页| 性欧美大战久久久久久久| 一不卡在线视频| 国产农村妇女毛片精品久久莱园子| 欧美高清视频一二三区 | 热re99久久精品国产66热| 亚洲爆乳无码一区二区三区| 国产综合自拍| av一区二区三区四区电影| 国产7777| av成人免费在线观看| 欧美xxxx吸乳| 午夜cr在线观看高清在线视频完整版| 亚洲一区二区偷拍精品| 免费观看一区二区三区| 性欧美18xxxhd| 精品亚洲国产成av人片传媒| 好吊操这里只有精品| 精品国精品国产自在久国产应用 | 国产69精品久久app免费版| 欧美视频在线观看 亚洲欧| 中文字幕免费在线播放| 日本精品久久| 久久99热精品这里久久精品| 亚洲AV午夜精品| 蜜桃伊人久久| 亚洲精品国产精品久久| 最新av电影| 偷拍一区二区三区| 国产精品毛片一区二区| 欧美视频一二区| 999成人网| 91嫩草在线视频| 尤物视频在线观看免费| 久久九九久精品国产免费直播| 人妻无码视频一区二区三区| av网站免费在线观看| 日韩精品中午字幕| 一区二区三区视频免费看| 成人网18免费网站| 91高跟黑色丝袜呻吟在线观看| 免费看a网站| 国产精品初高中害羞小美女文| 亚洲第一天堂久久| 中文字幕在线直播| 中文字幕在线国产精品| www.色视频| 久久99最新地址| 妞干网在线观看视频| 国产区在线观看| 亚洲精品国产欧美| 在线视频 91| 日韩国产精品久久久久久亚洲| 91制片厂免费观看| www.中文字幕久久久| 日韩一卡二卡三卡国产欧美| 亚洲欧美自拍视频| 在线亚洲国产精品网站| 香蕉视频在线网址| 毛片免费不卡| 亚洲精品自拍第一页| 国产精品久久久久久久久毛片| 日韩国产精品久久| 黄页网站大全在线观看| 福利在线导航136| 一区二区三区四区视频| 亚洲精品字幕在线| 国产精品99久久久久| 日本三级免费观看| 在线看片福利| 九九精品在线观看| 欧美孕妇与黑人巨交| 国产午夜精品一区二区三区嫩草| 中文字幕人妻熟女人妻a片| 996久久国产精品线观看| 欧美亚洲日本网站| 天堂网在线.www天堂在线视频| 亚洲人成电影网站色mp4| 日本黄色特级片| 国产精品手机在线播放| 国产精品一区二区三区在线观| a视频在线看| 在线播放91灌醉迷j高跟美女| 99久热在线精品996热是什么| 亚洲男人影院| 欧美在线一区视频| 在线观看欧美日韩电影| 国内揄拍国内精品| 青青青爽在线视频免费观看| 偷拍日韩校园综合在线| 国产第100页| 久久久久中文| 日日碰狠狠丁香久燥| 欧美高清你懂的| 国产精品久久久久久久久男| 亚州福利视频| 欧美日韩亚洲综合一区二区三区| 蜜臀99久久精品久久久久小说| 免费观看成人av| 国产精品亚洲a| 日韩伦理一区二区| 成人免费淫片视频软件| 手机福利视频欧美| 欧美成人vr18sexvr| 午夜精品一二三区| 久久免费的精品国产v∧| 欧美成人午夜精品免费| 国产精品x453.com| 在线电影看在线一区二区三区| 亚洲丝袜精品| 欧美激情va永久在线播放| 日本免费三片免费观看| 欧美午夜xxx| 国产真人无遮挡作爱免费视频| 国内精品久久久久影院一蜜桃| 五月天婷婷在线观看视频| 欧美理伦片在线播放| 久久久久久亚洲精品不卡4k岛国 | 中文字字幕一区二区三区四区五区| 人人鲁人人莫人人爱精品| 欧美精品一区二区免费| 网站在线观看你懂的| 日韩欧美国产骚| 中文字幕高清在线免费播放| 狠狠色丁香久久婷婷综合丁香| 日韩成人av免费| 欧美天堂影院| 午夜精品一区二区三区在线观看 | 91天堂素人约啪| 久久久精品人妻无码专区| 无需播放器亚洲| 成人免费观看在线| 国产成人精品一区二区三区免费| 91精品久久久久久久久久久久久久| 欧美激情图区| 一本一道久久a久久精品逆3p| 日韩精品免费一区二区| 亚洲国产毛片aaaaa无费看| 国产九色在线播放九色| 国产福利91精品一区二区三区| 国产十八熟妇av成人一区| 91精品精品| 免费无码不卡视频在线观看| 欧美经典一区| 欧洲精品国产| 女人高潮被爽到呻吟在线观看| 国产精品久久久久久久久久久新郎| 先锋av资源在线| 久久久成人av| 在线观看成人影院| 亚洲电影免费观看| 国产一区二区在线网站 | 欧美精品一区二区三区很污很色的| 日本黄色不卡视频| 伊人色综合久久天天人手人婷| 日韩欧美三级视频| 国产 欧美在线| 色噜噜噜噜噜噜| 噜噜爱69成人精品| www.桃色.com| 忘忧草精品久久久久久久高清| 波多野结衣50连登视频| 欧美电影免费网站| 日本不卡一区二区三区四区| 亚洲成人1区| 欧美日韩精品一区| 欧美成人性网| 精品国产电影| 中文字幕人成乱码在线观看| 亚洲一区国产精品| 色呦呦呦在线观看| 国产男人精品视频| 麻豆传媒视频在线观看| 日本精品视频网站| www亚洲人| 国产成人精品电影| 阿v免费在线观看| 欧洲永久精品大片ww免费漫画| 青青草免费观看免费视频在线| 欧美激情视频一区二区| 亚洲日本高清| 欧美激情精品久久久久久| 在线视频2区| 国模精品一区二区三区色天香| 中文字幕亚洲精品视频| 欧美高清一级大片| 四虎影视精品成人| 97精品国产97久久久久久| 日韩a在线看| 91高清视频免费观看| 久草在线免费福利资源| 日本一区二区三区在线播放| 亚洲成人影院麻豆| 国产精品观看在线亚洲人成网| 日本免费在线视频| 国产欧美日韩免费看aⅴ视频| 在线视频观看国产| 91视频在线免费观看| 美女扒开腿让男人桶爽久久软| 国产伦精品一区二区| 你懂得影院夜精品a| 日韩精品久久久| 97精品国产97久久久久久免费| 国产黄色片在线观看| 国产精品美女呻吟| 丁香花高清在线观看完整版| 国产原创精品| 亚洲成人1区| 91视频 - 88av| 国产一区国产二区国产三区| 污视频免费在线观看网站| 欧美视频网站| 亚洲国产精品无码久久久久高潮| 久久精品国产久精国产| 国产高潮流白浆| 91麻豆免费观看| av手机天堂网| 午夜免费久久看| 最近中文av字幕在线中文| 日韩视频在线一区二区| 美女视频黄是免费| 综合久久五月天| 亚洲网友自拍| 国产精品视频一| 亚洲电影观看| 性欧美.com| 日韩超碰人人爽人人做人人添| 日本久久精品一区二区| 亚洲深夜激情| 国产美女高潮视频| 91麻豆国产福利精品| 国产一区二区三区影院| 亚洲免费观看高清在线观看| 免费a级片在线观看| 欧美中文一区二区三区| 精品欧美日韩一区二区| 日韩av在线网站| 人善交video高清| 国内伊人久久久久久网站视频| caoporn免费在线视频| 成人欧美视频在线| 欧美另类中文字幕| 18禁男女爽爽爽午夜网站免费| 欧美午夜a级限制福利片| 亚洲av综合一区二区| 99精品欧美一区二区蜜桃免费| av资源免费观看| 亚洲激情自拍偷拍| 亚洲日韩色图| 亚洲天堂网在线观看| 久草在线免费福利| 国产国语videosex另类| 性欧美18xxxhd| 日韩一区二区高清视频| 欧美xxx在线观看| 色一情一交一乱一区二区三区| 成人av在线一区二区三区| jizz国产在线| 色婷婷激情一区二区三区| 国产在线精选视频| 精品久久国产精品| 成人一区二区不卡免费| 精品不卡在线| 天天躁日日躁成人字幕aⅴ| 日本不卡一区在线| 一本色道久久综合| 欧美视频一区二区在线| 自拍偷在线精品自拍偷无码专区 | 黄色网址网站在线观看| 国模私拍一区二区三区| 蜜桃视频在线观看免费视频| 成人午夜免费在线视频| 欧美激情麻豆| 欧美做爰爽爽爽爽爽爽| 亚洲精品视频一区| 欧美黄色免费视频| 精品国产一区久久久| 黄网在线免费看| 影音先锋在线亚洲| 欧美激情日韩| 亚洲二区在线播放| 中文字幕五月欧美| 中文乱码字幕午夜无线观看| 国产婷婷色综合av蜜臀av | 精品久久在线| 日韩av中文字幕第一页| 久久www人成免费看片中文| 天天干天天操天天干天天操| 在线精品观看| 欧美国产精品一二三| 亚洲一区在线观看免费 | 色婷婷色综合| 毛茸茸多毛bbb毛多视频| 国产拍揄自揄精品视频麻豆| 亚洲色图欧美视频| 最近2019好看的中文字幕免费| 国产日产一区二区三区| 色爽爽爽爽爽爽爽爽| 欧美激情 亚洲a∨综合| 免费高清在线观看电视| 狠狠色噜噜狠狠狠狠97| 国产美女av| 国产精品亚洲精品| 2020最新国产精品| 五月天丁香社区| 亚洲国产精品ⅴa在线观看| 成人男女网免费| 社区色欧美激情 | 黄色在线免费观看网站| 欧洲黄色一级视频| 青椒成人免费视频| 国产精品系列视频| 亚洲精品在线不卡| 亚洲小说区图片| 欧美大片在线播放| 国内精品伊人久久久久av一坑| 国产成人三级在线播放| 日韩av最新在线观看| 欧美成人hd| 妺妺窝人体色777777| 久久国产福利国产秒拍| 国产又粗又长又大视频| 亚洲欧美日韩国产精品| 国产第一页在线| 好男人www社区| 91免费看`日韩一区二区| 精品成人免费自拍视频| 国产91av在线| 哺乳挤奶一区二区三区免费看| a视频免费观看| 亚洲第一狼人社区| 香港日本韩国三级| 欧洲成人一区二区| 免费看黄裸体一级大秀欧美| 亚洲一区中文字幕在线| 亚洲亚裔videos黑人hd| 欧美18—19sex性hd| 在线免费黄色小视频| 自拍偷拍欧美精品| 免费观看的av| 久久久综合亚洲91久久98| 亚洲毛片一区| 国产精品嫩草影院桃色| 久久国产一区二区三区| 婷婷精品久久久久久久久久不卡| 精品国产一区在线| 婷婷开心激情综合| 亚洲有码转帖| 欧美国产综合在线| 成人av手机在线观看| 中国男女全黄大片| 99久久婷婷国产综合精品电影| 精品国产免费观看一区| 国产精品一区av| 日本一区二区在线看|