; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\obj\at.o --depend=.\obj\at.d --device=DARMSTM --apcs=interwork -O0 -I.\FWlib\inc -I.\user -I.\CM3 -Id:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD --omf_browse=.\obj\at.crf user\at.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  AT_ATE PROC
;;;20     ****************************************************************************/ 
;;;21     void AT_ATE(int a){
000000  b570              PUSH     {r4-r6,lr}
000002  4604              MOV      r4,r0
;;;22     	unsigned char *str1;
;;;23     	if(a==1) str1="ATE1\r\n";
000004  2c01              CMP      r4,#1
000006  d101              BNE      |L1.12|
000008  a5fd              ADR      r5,|L1.1024|
00000a  e001              B        |L1.16|
                  |L1.12|
;;;24     	else if(a==0) str1="ATE0\r\n";
00000c  b904              CBNZ     r4,|L1.16|
00000e  a5fe              ADR      r5,|L1.1032|
                  |L1.16|
;;;25     	USART_OUT(USART2,str1);
000010  4629              MOV      r1,r5
000012  48ff              LDR      r0,|L1.1040|
000014  f7fffffe          BL       USART_OUT
;;;26     
;;;27     }
000018  bd70              POP      {r4-r6,pc}
;;;28     
                          ENDP

                  AT_CIFSR PROC
;;;31     ****************************************************************************/
;;;32     void AT_CIFSR(void){
00001a  b510              PUSH     {r4,lr}
;;;33     	unsigned char *str1;	  	
;;;34     	str1="AT+CIFSR\r\n";
00001c  a4fd              ADR      r4,|L1.1044|
;;;35     	USART_OUT(USART2,str1);
00001e  4621              MOV      r1,r4
000020  48fb              LDR      r0,|L1.1040|
000022  f7fffffe          BL       USART_OUT
;;;36     	//AT_MODE=2;
;;;37     }
000026  bd10              POP      {r4,pc}
;;;38     
                          ENDP

                  AT_AT PROC
;;;41     ****************************************************************************/
;;;42     void AT_AT(void){
000028  b510              PUSH     {r4,lr}
;;;43     	unsigned char *str1;	  	
;;;44     	str1="AT\r\n";
00002a  a4fd              ADR      r4,|L1.1056|
;;;45     	USART_OUT(USART2,str1);
00002c  4621              MOV      r1,r4
00002e  48f8              LDR      r0,|L1.1040|
000030  f7fffffe          BL       USART_OUT
;;;46     }
000034  bd10              POP      {r4,pc}
;;;47     
                          ENDP

                  AT_MQTTCLEAN PROC
;;;50     ****************************************************************************/
;;;51     void AT_MQTTCLEAN(void){
000036  b510              PUSH     {r4,lr}
;;;52     	unsigned char *str1;	  	
;;;53     	str1="AT+MQTTCLEAN=0\r\n";
000038  a4fb              ADR      r4,|L1.1064|
;;;54     	USART_OUT(USART2,str1);
00003a  4621              MOV      r1,r4
00003c  48f4              LDR      r0,|L1.1040|
00003e  f7fffffe          BL       USART_OUT
;;;55     }
000042  bd10              POP      {r4,pc}
;;;56     /****************************************************************************
                          ENDP

                  AT_GMR PROC
;;;58     ****************************************************************************/
;;;59     void AT_GMR(void){
000044  b510              PUSH     {r4,lr}
;;;60     	unsigned char *str1;	  	
;;;61     	str1="AT+GMR\r\n";
000046  a4fd              ADR      r4,|L1.1084|
;;;62     	USART_OUT(USART2,str1);
000048  4621              MOV      r1,r4
00004a  48f1              LDR      r0,|L1.1040|
00004c  f7fffffe          BL       USART_OUT
;;;63     }
000050  bd10              POP      {r4,pc}
;;;64     /****************************************************************************
                          ENDP

                  AT_CWMODE PROC
;;;66     ****************************************************************************/
;;;67     void AT_CWMODE(char mode){
000052  b570              PUSH     {r4-r6,lr}
000054  b086              SUB      sp,sp,#0x18
000056  4604              MOV      r4,r0
;;;68     	char *str1;
;;;69     	char str2[1];
;;;70     	char *str3;	
;;;71     	char str4[20];	
;;;72     	AT_MODE=100;
000058  2064              MOVS     r0,#0x64
00005a  49fb              LDR      r1,|L1.1096|
00005c  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;73     	str1="AT+CWMODE=";
00005e  a5fb              ADR      r5,|L1.1100|
;;;74     	//itoa(mode,str2,10);
;;;75     	str2[0]=mode;
000060  9405              STR      r4,[sp,#0x14]
;;;76     	str3="\r\n";
000062  a6e8              ADR      r6,|L1.1028|
;;;77     	strcpy(str4,str1);
000064  4629              MOV      r1,r5
000066  4668              MOV      r0,sp
000068  f7fffffe          BL       strcpy
;;;78     	strcat(str4,str2);
00006c  a905              ADD      r1,sp,#0x14
00006e  4668              MOV      r0,sp
000070  f7fffffe          BL       strcat
;;;79     	strcat(str4,str3); 	 
000074  4631              MOV      r1,r6
000076  4668              MOV      r0,sp
000078  f7fffffe          BL       strcat
;;;80     	USART_OUT(USART2,(uint8_t *)str4);
00007c  4669              MOV      r1,sp
00007e  48e4              LDR      r0,|L1.1040|
000080  f7fffffe          BL       USART_OUT
;;;81     
;;;82     }
000084  b006              ADD      sp,sp,#0x18
000086  bd70              POP      {r4-r6,pc}
;;;83     
                          ENDP

                  AT_CIPSTART PROC
;;;88     ****************************************************************************/
;;;89     void AT_CIPSTART(){
000088  e92d47f0          PUSH     {r4-r10,lr}
00008c  b092              SUB      sp,sp,#0x48
;;;90     	char *udp;
;;;91     	char *ip;
;;;92     	char *port1;
;;;93     	char *port2;
;;;94     	char *fin;
;;;95     
;;;96     	char *str1;
;;;97     	char str2[1];
;;;98     	char *str2a;
;;;99     
;;;100    	char str3a[1];	
;;;101    	char str3b[1];	
;;;102    	char str3c[1];	
;;;103    	char str4[1];	
;;;104    	char *str5;	
;;;105    	char str6[50];	
;;;106    	AT_MODE=100;
00008e  2064              MOVS     r0,#0x64
000090  49ed              LDR      r1,|L1.1096|
000092  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;107    
;;;108    	udp="UDP";
000094  a4f0              ADR      r4,|L1.1112|
;;;109    	ip="192.168.4.2";
000096  a5f1              ADR      r5,|L1.1116|
;;;110    	port1="4000";
000098  a6f3              ADR      r6,|L1.1128|
;;;111    	port2="4000";
00009a  a7f3              ADR      r7,|L1.1128|
;;;112    	fin="0";
00009c  f20f38d0          ADR.W    r8,|L1.1136|
;;;113    	str1="AT+CIPSTART=";
0000a0  f20f39d0          ADR.W    r9,|L1.1140|
;;;114    	str2[0]='"';
0000a4  2022              MOVS     r0,#0x22
0000a6  9011              STR      r0,[sp,#0x44]
;;;115    
;;;116    	str3a[0]='"';
0000a8  9010              STR      r0,[sp,#0x40]
;;;117    	str3b[0]=',';
0000aa  202c              MOVS     r0,#0x2c
0000ac  900f              STR      r0,[sp,#0x3c]
;;;118    	str3c[0]='"';
0000ae  2022              MOVS     r0,#0x22
0000b0  900e              STR      r0,[sp,#0x38]
;;;119    
;;;120    	str4[0]='"';
0000b2  900d              STR      r0,[sp,#0x34]
;;;121    	str5="\r\n";
0000b4  f20f3a4c          ADR.W    r10,|L1.1028|
;;;122    	strcpy(str6,str1);
0000b8  4649              MOV      r1,r9
0000ba  4668              MOV      r0,sp
0000bc  f7fffffe          BL       strcpy
;;;123    	strcat(str6,str2);
0000c0  a911              ADD      r1,sp,#0x44
0000c2  4668              MOV      r0,sp
0000c4  f7fffffe          BL       strcat
;;;124    	strcat(str6,udp);
0000c8  4621              MOV      r1,r4
0000ca  4668              MOV      r0,sp
0000cc  f7fffffe          BL       strcat
;;;125    	strcat(str6,str3a);
0000d0  a910              ADD      r1,sp,#0x40
0000d2  4668              MOV      r0,sp
0000d4  f7fffffe          BL       strcat
;;;126    
;;;127    	strcat(str6,str3b);
0000d8  a90f              ADD      r1,sp,#0x3c
0000da  4668              MOV      r0,sp
0000dc  f7fffffe          BL       strcat
;;;128    
;;;129    	strcat(str6,str3c);
0000e0  a90e              ADD      r1,sp,#0x38
0000e2  4668              MOV      r0,sp
0000e4  f7fffffe          BL       strcat
;;;130    	strcat(str6,ip); 
0000e8  4629              MOV      r1,r5
0000ea  4668              MOV      r0,sp
0000ec  f7fffffe          BL       strcat
;;;131    	strcat(str6,str4);
0000f0  a90d              ADD      r1,sp,#0x34
0000f2  4668              MOV      r0,sp
0000f4  f7fffffe          BL       strcat
;;;132       
;;;133    	strcat(str6,str3b);
0000f8  a90f              ADD      r1,sp,#0x3c
0000fa  4668              MOV      r0,sp
0000fc  f7fffffe          BL       strcat
;;;134    
;;;135        strcat(str6,port1); 
000100  4631              MOV      r1,r6
000102  4668              MOV      r0,sp
000104  f7fffffe          BL       strcat
;;;136    
;;;137    	strcat(str6,str3b);
000108  a90f              ADD      r1,sp,#0x3c
00010a  4668              MOV      r0,sp
00010c  f7fffffe          BL       strcat
;;;138    
;;;139    	strcat(str6,port2);
000110  4639              MOV      r1,r7
000112  4668              MOV      r0,sp
000114  f7fffffe          BL       strcat
;;;140    	
;;;141    	strcat(str6,str3b);
000118  a90f              ADD      r1,sp,#0x3c
00011a  4668              MOV      r0,sp
00011c  f7fffffe          BL       strcat
;;;142    	
;;;143    	strcat(str6,fin);
000120  4641              MOV      r1,r8
000122  4668              MOV      r0,sp
000124  f7fffffe          BL       strcat
;;;144    	 
;;;145    	strcat(str6,str5);	 
000128  4651              MOV      r1,r10
00012a  4668              MOV      r0,sp
00012c  f7fffffe          BL       strcat
;;;146    	USART_OUT(USART2,(uint8_t *)str6);
000130  4669              MOV      r1,sp
000132  48b7              LDR      r0,|L1.1040|
000134  f7fffffe          BL       USART_OUT
;;;147    
;;;148    }
000138  b012              ADD      sp,sp,#0x48
00013a  e8bd87f0          POP      {r4-r10,pc}
;;;149    /****************************************************************************
                          ENDP

                  AT_CWJAP PROC
;;;151    ****************************************************************************/
;;;152    void AT_CWJAP(char *ssid,char *psw){
00013e  b5f0              PUSH     {r4-r7,lr}
000140  b093              SUB      sp,sp,#0x4c
000142  4604              MOV      r4,r0
000144  460d              MOV      r5,r1
;;;153    	char *str1;
;;;154    	char str2[1];
;;;155    	char str3a[1];	
;;;156    	char str3b[1];	
;;;157    	char str3c[1];	
;;;158    	char str4[1];	
;;;159    	char *str5;	
;;;160    	char str6[50];	
;;;161    	AT_MODE=100;
000146  2064              MOVS     r0,#0x64
000148  49bf              LDR      r1,|L1.1096|
00014a  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;162    	str1="AT+CWJAP=";
00014c  a6cd              ADR      r6,|L1.1156|
;;;163    	str2[0]='"';
00014e  2022              MOVS     r0,#0x22
000150  9012              STR      r0,[sp,#0x48]
;;;164    
;;;165    	str3a[0]='"';
000152  9011              STR      r0,[sp,#0x44]
;;;166    	str3b[0]=',';
000154  202c              MOVS     r0,#0x2c
000156  9010              STR      r0,[sp,#0x40]
;;;167    	str3c[0]='"';
000158  2022              MOVS     r0,#0x22
00015a  900f              STR      r0,[sp,#0x3c]
;;;168    
;;;169    	str4[0]='"';
00015c  900e              STR      r0,[sp,#0x38]
;;;170    	str5="\r\n";
00015e  a7a9              ADR      r7,|L1.1028|
;;;171    	strcpy(str6,str1);
000160  4631              MOV      r1,r6
000162  a801              ADD      r0,sp,#4
000164  f7fffffe          BL       strcpy
;;;172    	strcat(str6,str2);
000168  a912              ADD      r1,sp,#0x48
00016a  a801              ADD      r0,sp,#4
00016c  f7fffffe          BL       strcat
;;;173    	strcat(str6,ssid);
000170  4621              MOV      r1,r4
000172  a801              ADD      r0,sp,#4
000174  f7fffffe          BL       strcat
;;;174    	strcat(str6,str3a);
000178  a911              ADD      r1,sp,#0x44
00017a  a801              ADD      r0,sp,#4
00017c  f7fffffe          BL       strcat
;;;175    	strcat(str6,str3b);
000180  a910              ADD      r1,sp,#0x40
000182  a801              ADD      r0,sp,#4
000184  f7fffffe          BL       strcat
;;;176    	strcat(str6,str3c);
000188  a90f              ADD      r1,sp,#0x3c
00018a  a801              ADD      r0,sp,#4
00018c  f7fffffe          BL       strcat
;;;177    	strcat(str6,psw); 
000190  4629              MOV      r1,r5
000192  a801              ADD      r0,sp,#4
000194  f7fffffe          BL       strcat
;;;178    	strcat(str6,str4);
000198  a90e              ADD      r1,sp,#0x38
00019a  a801              ADD      r0,sp,#4
00019c  f7fffffe          BL       strcat
;;;179    	strcat(str6,str5);	 
0001a0  4639              MOV      r1,r7
0001a2  a801              ADD      r0,sp,#4
0001a4  f7fffffe          BL       strcat
;;;180    	USART_OUT(USART2,(uint8_t *)str6);
0001a8  a901              ADD      r1,sp,#4
0001aa  4899              LDR      r0,|L1.1040|
0001ac  f7fffffe          BL       USART_OUT
;;;181    
;;;182    }
0001b0  b013              ADD      sp,sp,#0x4c
0001b2  bdf0              POP      {r4-r7,pc}
;;;183    
                          ENDP

                  AT_CIPSTATUS PROC
;;;186    ****************************************************************************/
;;;187    void AT_CIPSTATUS(void){
0001b4  b510              PUSH     {r4,lr}
;;;188    	char *str1;	
;;;189    	AT_MODE=100;	 
0001b6  2064              MOVS     r0,#0x64
0001b8  49a3              LDR      r1,|L1.1096|
0001ba  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;190    	str1="AT+CIPSTATUS\r\n";
0001bc  a4b4              ADR      r4,|L1.1168|
;;;191    	USART_OUT(USART2,(uint8_t *)str1);
0001be  4621              MOV      r1,r4
0001c0  4893              LDR      r0,|L1.1040|
0001c2  f7fffffe          BL       USART_OUT
;;;192    
;;;193    }
0001c6  bd10              POP      {r4,pc}
;;;194    /****************************************************************************
                          ENDP

                  AT_MQTTUSERCFG PROC
;;;196    ****************************************************************************/
;;;197    void AT_MQTTUSERCFG(void){
0001c8  e92d41f0          PUSH     {r4-r8,lr}
0001cc  b098              SUB      sp,sp,#0x60
;;;198    	char *str1;
;;;199    	char *str2;
;;;200    	char str3[1];	
;;;201    	char *str4;	
;;;202    	char str5a[1];	
;;;203    	char str5[6];	
;;;204    	char *str6;
;;;205    
;;;206    	char str7a[1];	
;;;207    	char str7b[1];	
;;;208    	char *str8;	
;;;209    	char str9[70];	
;;;210    	AT_MODE=100;
0001ce  2064              MOVS     r0,#0x64
0001d0  499d              LDR      r1,|L1.1096|
0001d2  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;211    	str1="AT+MQTTUSERCFG=";
0001d4  a4b2              ADR      r4,|L1.1184|
;;;212    	str2="0,1,";
0001d6  a5b6              ADR      r5,|L1.1200|
;;;213    	str3[0]='"';
0001d8  2022              MOVS     r0,#0x22
0001da  9017              STR      r0,[sp,#0x5c]
;;;214    	str4="0001";		    //client id  
0001dc  a6b6              ADR      r6,|L1.1208|
;;;215    
;;;216    	str5a[0]='"';  	
0001de  9016              STR      r0,[sp,#0x58]
;;;217    	str5[0]=',';  	
0001e0  202c              MOVS     r0,#0x2c
0001e2  f88d0050          STRB     r0,[sp,#0x50]
;;;218    	str5[1]='"';
0001e6  2022              MOVS     r0,#0x22
0001e8  f88d0051          STRB     r0,[sp,#0x51]
;;;219    	str5[2]='"';
0001ec  f88d0052          STRB     r0,[sp,#0x52]
;;;220    	str5[3]=',';
0001f0  202c              MOVS     r0,#0x2c
0001f2  f88d0053          STRB     r0,[sp,#0x53]
;;;221    	str5[4]='"';
0001f6  2022              MOVS     r0,#0x22
0001f8  f88d0054          STRB     r0,[sp,#0x54]
;;;222    	str5[5]='"';
0001fc  f88d0055          STRB     r0,[sp,#0x55]
;;;223    	
;;;224    	str6=",0,0,"; 
000200  a7af              ADR      r7,|L1.1216|
;;;225    
;;;226    	str7a[0]='"';
000202  9013              STR      r0,[sp,#0x4c]
;;;227    	str7b[0]='"';	 
000204  9012              STR      r0,[sp,#0x48]
;;;228    	str8="\r\n";
000206  f20f18fc          ADR.W    r8,|L1.1028|
;;;229    	strcpy(str9,str1);
00020a  4621              MOV      r1,r4
00020c  4668              MOV      r0,sp
00020e  f7fffffe          BL       strcpy
;;;230    	strcat(str9,str2);
000212  4629              MOV      r1,r5
000214  4668              MOV      r0,sp
000216  f7fffffe          BL       strcat
;;;231    	strcat(str9,str3);
00021a  a917              ADD      r1,sp,#0x5c
00021c  4668              MOV      r0,sp
00021e  f7fffffe          BL       strcat
;;;232    	strcat(str9,str4);
000222  4631              MOV      r1,r6
000224  4668              MOV      r0,sp
000226  f7fffffe          BL       strcat
;;;233    	strcat(str9,str5a);
00022a  a916              ADD      r1,sp,#0x58
00022c  4668              MOV      r0,sp
00022e  f7fffffe          BL       strcat
;;;234    	strcat(str9,str5);
000232  a914              ADD      r1,sp,#0x50
000234  4668              MOV      r0,sp
000236  f7fffffe          BL       strcat
;;;235    
;;;236    	strcat(str9,str6);
00023a  4639              MOV      r1,r7
00023c  4668              MOV      r0,sp
00023e  f7fffffe          BL       strcat
;;;237    
;;;238    	strcat(str9,str7a); 
000242  a913              ADD      r1,sp,#0x4c
000244  4668              MOV      r0,sp
000246  f7fffffe          BL       strcat
;;;239    	strcat(str9,str7b); 
00024a  a912              ADD      r1,sp,#0x48
00024c  4668              MOV      r0,sp
00024e  f7fffffe          BL       strcat
;;;240    	strcat(str9,str8);
000252  4641              MOV      r1,r8
000254  4668              MOV      r0,sp
000256  f7fffffe          BL       strcat
;;;241    	USART_OUT(USART2,(uint8_t *)str9);
00025a  4669              MOV      r1,sp
00025c  486c              LDR      r0,|L1.1040|
00025e  f7fffffe          BL       USART_OUT
;;;242    }
000262  b018              ADD      sp,sp,#0x60
000264  e8bd81f0          POP      {r4-r8,pc}
;;;243    
                          ENDP

                  AT_MQTTCONN PROC
;;;246    ****************************************************************************/
;;;247    void AT_MQTTCONN(char * server, char *port){
000268  e92d4ff0          PUSH     {r4-r11,lr}
00026c  b091              SUB      sp,sp,#0x44
00026e  4604              MOV      r4,r0
000270  460d              MOV      r5,r1
;;;248    	
;;;249    	char *str1;
;;;250    	char *str2;
;;;251    	char str3[1];	
;;;252    	char *str4;	
;;;253    	char str5a[1];	
;;;254    	char str5b[1];	
;;;255    	char *str6;	
;;;256    	char *str7;	
;;;257    	char *str8;	
;;;258    	char str9[50];		
;;;259    	AT_MODE=100;
000272  2064              MOVS     r0,#0x64
000274  4974              LDR      r1,|L1.1096|
000276  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;260    	str1="AT+MQTTCONN=";
000278  a693              ADR      r6,|L1.1224|
;;;261    	str2="0,";
00027a  a797              ADR      r7,|L1.1240|
;;;262    	str3[0]='"';
00027c  2022              MOVS     r0,#0x22
00027e  9010              STR      r0,[sp,#0x40]
;;;263    	str4=server;		    //client id  
000280  46a0              MOV      r8,r4
;;;264    	str5a[0]='"';
000282  900f              STR      r0,[sp,#0x3c]
;;;265    	str5b[0]=',';
000284  202c              MOVS     r0,#0x2c
000286  900e              STR      r0,[sp,#0x38]
;;;266    	str6=port;	
000288  46a9              MOV      r9,r5
;;;267    	str7=",1"; 
00028a  f20f2a50          ADR.W    r10,|L1.1244|
;;;268    	str8="\r\n";
00028e  f20f1b74          ADR.W    r11,|L1.1028|
;;;269    	strcpy(str9,str1);
000292  4631              MOV      r1,r6
000294  a801              ADD      r0,sp,#4
000296  f7fffffe          BL       strcpy
;;;270    	strcat(str9,str2);
00029a  4639              MOV      r1,r7
00029c  a801              ADD      r0,sp,#4
00029e  f7fffffe          BL       strcat
;;;271    	strcat(str9,str3);
0002a2  a910              ADD      r1,sp,#0x40
0002a4  a801              ADD      r0,sp,#4
0002a6  f7fffffe          BL       strcat
;;;272    	strcat(str9,str4);
0002aa  4641              MOV      r1,r8
0002ac  a801              ADD      r0,sp,#4
0002ae  f7fffffe          BL       strcat
;;;273    	strcat(str9,str5a);
0002b2  a90f              ADD      r1,sp,#0x3c
0002b4  a801              ADD      r0,sp,#4
0002b6  f7fffffe          BL       strcat
;;;274    	strcat(str9,str5b);
0002ba  a90e              ADD      r1,sp,#0x38
0002bc  a801              ADD      r0,sp,#4
0002be  f7fffffe          BL       strcat
;;;275    	strcat(str9,str6);
0002c2  4649              MOV      r1,r9
0002c4  a801              ADD      r0,sp,#4
0002c6  f7fffffe          BL       strcat
;;;276    	strcat(str9,str7); 
0002ca  4651              MOV      r1,r10
0002cc  a801              ADD      r0,sp,#4
0002ce  f7fffffe          BL       strcat
;;;277    	strcat(str9,str8);
0002d2  4659              MOV      r1,r11
0002d4  a801              ADD      r0,sp,#4
0002d6  f7fffffe          BL       strcat
;;;278    	USART_OUT(USART2,(uint8_t *)str9);
0002da  a901              ADD      r1,sp,#4
0002dc  484c              LDR      r0,|L1.1040|
0002de  f7fffffe          BL       USART_OUT
;;;279    	
;;;280    }
0002e2  b011              ADD      sp,sp,#0x44
0002e4  e8bd8ff0          POP      {r4-r11,pc}
;;;281    
                          ENDP

                  AT_MQTTPUB PROC
;;;284    ****************************************************************************/
;;;285    void AT_MQTTPUB(char *pub,char *info){
0002e8  e92d4ff0          PUSH     {r4-r11,lr}
0002ec  b0c7              SUB      sp,sp,#0x11c
0002ee  4604              MOV      r4,r0
0002f0  460d              MOV      r5,r1
;;;286    	
;;;287    	char *str1;
;;;288    	char *str2;
;;;289    	char str3[1];	
;;;290    	char *str4;	
;;;291    	char str5[1];	
;;;292    	char *str6;	
;;;293    	char  str7a[1];	
;;;294    	char  str7b[1];	
;;;295    	char  str7c[1];	
;;;296    	char *str8;	
;;;297    	char str9[1];	
;;;298    	char *str10;	
;;;299    	char *str11;
;;;300    	char str12[250];		
;;;301    
;;;302    	str1="AT+MQTTPUB=";
0002f2  a67b              ADR      r6,|L1.1248|
;;;303    	str2="0,";
0002f4  a778              ADR      r7,|L1.1240|
;;;304    	str3[0]='"';
0002f6  2022              MOVS     r0,#0x22
0002f8  9046              STR      r0,[sp,#0x118]
;;;305    	str4=mac;		    //豸macΪΨһid  	 
0002fa  f8df81f0          LDR      r8,|L1.1260|
;;;306    	str5[0]='/';
0002fe  202f              MOVS     r0,#0x2f
000300  9045              STR      r0,[sp,#0x114]
;;;307    	str6=pub;
000302  46a1              MOV      r9,r4
;;;308    
;;;309    	str7a[0]='"';
000304  2022              MOVS     r0,#0x22
000306  9044              STR      r0,[sp,#0x110]
;;;310    	str7b[0]=',';
000308  202c              MOVS     r0,#0x2c
00030a  9043              STR      r0,[sp,#0x10c]
;;;311    	str7c[0]='"';
00030c  2022              MOVS     r0,#0x22
00030e  9042              STR      r0,[sp,#0x108]
;;;312    	str8=info; 
000310  46aa              MOV      r10,r5
;;;313    	str9[0]='"';
000312  9041              STR      r0,[sp,#0x104]
;;;314    	str10=",0,1";
000314  f20f1bd8          ADR.W    r11,|L1.1264|
;;;315    	str11="\r\n";
000318  a03a              ADR      r0,|L1.1028|
00031a  9040              STR      r0,[sp,#0x100]
;;;316    	strcpy(str12,str1);
00031c  4631              MOV      r1,r6
00031e  a801              ADD      r0,sp,#4
000320  f7fffffe          BL       strcpy
;;;317    	strcat(str12,str2);
000324  4639              MOV      r1,r7
000326  a801              ADD      r0,sp,#4
000328  f7fffffe          BL       strcat
;;;318    	strcat(str12,str3);
00032c  a946              ADD      r1,sp,#0x118
00032e  a801              ADD      r0,sp,#4
000330  f7fffffe          BL       strcat
;;;319    	strcat(str12,str4);
000334  4641              MOV      r1,r8
000336  a801              ADD      r0,sp,#4
000338  f7fffffe          BL       strcat
;;;320    	strcat(str12,str5);
00033c  a945              ADD      r1,sp,#0x114
00033e  a801              ADD      r0,sp,#4
000340  f7fffffe          BL       strcat
;;;321    	strcat(str12,str6);
000344  4649              MOV      r1,r9
000346  a801              ADD      r0,sp,#4
000348  f7fffffe          BL       strcat
;;;322    	strcat(str12,str7a);
00034c  a944              ADD      r1,sp,#0x110
00034e  a801              ADD      r0,sp,#4
000350  f7fffffe          BL       strcat
;;;323    	strcat(str12,str7b);
000354  a943              ADD      r1,sp,#0x10c
000356  a801              ADD      r0,sp,#4
000358  f7fffffe          BL       strcat
;;;324    	strcat(str12,str7c);
00035c  a942              ADD      r1,sp,#0x108
00035e  a801              ADD      r0,sp,#4
000360  f7fffffe          BL       strcat
;;;325    	strcat(str12,str8); 
000364  4651              MOV      r1,r10
000366  a801              ADD      r0,sp,#4
000368  f7fffffe          BL       strcat
;;;326    	strcat(str12,str9);
00036c  a941              ADD      r1,sp,#0x104
00036e  a801              ADD      r0,sp,#4
000370  f7fffffe          BL       strcat
;;;327    	strcat(str12,str10);
000374  4659              MOV      r1,r11
000376  a801              ADD      r0,sp,#4
000378  f7fffffe          BL       strcat
;;;328    	strcat(str12,str11);
00037c  a801              ADD      r0,sp,#4
00037e  9940              LDR      r1,[sp,#0x100]
000380  f7fffffe          BL       strcat
;;;329    	pub_send_flag=1;
000384  2001              MOVS     r0,#1
000386  495c              LDR      r1,|L1.1272|
000388  7008              STRB     r0,[r1,#0]
;;;330    	USART_OUT(USART2,(uint8_t *)str12);
00038a  a901              ADD      r1,sp,#4
00038c  4820              LDR      r0,|L1.1040|
00038e  f7fffffe          BL       USART_OUT
;;;331    	
;;;332    }
000392  b047              ADD      sp,sp,#0x11c
000394  e8bd8ff0          POP      {r4-r11,pc}
;;;333    
                          ENDP

                  AT_MQTTSUB PROC
;;;336    ****************************************************************************/
;;;337    void AT_MQTTSUB(char *sub){
000398  e92d47f0          PUSH     {r4-r10,lr}
00039c  b090              SUB      sp,sp,#0x40
00039e  4604              MOV      r4,r0
;;;338    	
;;;339    	char *str1;
;;;340    	char *str2;
;;;341    	char str3[1];	
;;;342    	char *str4;
;;;343    	char str5a[1];	
;;;344    	char *str5;	
;;;345    	//char *str6;	
;;;346    	char  str7[1];	
;;;347    	char *str8;	
;;;348    	char *str9;	
;;;349    	char str10[50];		
;;;350    	//AT_MODE=100;
;;;351    	str1="AT+MQTTSUB=";
0003a0  a556              ADR      r5,|L1.1276|
;;;352    	str2="0,";
0003a2  a64d              ADR      r6,|L1.1240|
;;;353    	str3[0]='"';
0003a4  2022              MOVS     r0,#0x22
0003a6  900f              STR      r0,[sp,#0x3c]
;;;354    	str4=mac;		    //豸macΪΨһid  	 
0003a8  4f50              LDR      r7,|L1.1260|
;;;355    	str5a[0]='/';
0003aa  202f              MOVS     r0,#0x2f
0003ac  900e              STR      r0,[sp,#0x38]
;;;356    	str5=sub;
0003ae  46a0              MOV      r8,r4
;;;357    	str7[0]='"';
0003b0  2022              MOVS     r0,#0x22
0003b2  900d              STR      r0,[sp,#0x34]
;;;358    	str8=",0";
0003b4  f20f1950          ADR.W    r9,|L1.1288|
;;;359    	str9="\r\n";
0003b8  f20f0a48          ADR.W    r10,|L1.1028|
;;;360    	strcpy(str10,str1);
0003bc  4629              MOV      r1,r5
0003be  4668              MOV      r0,sp
0003c0  f7fffffe          BL       strcpy
;;;361    	strcat(str10,str2);
0003c4  4631              MOV      r1,r6
0003c6  4668              MOV      r0,sp
0003c8  f7fffffe          BL       strcat
;;;362    	strcat(str10,str3);
0003cc  a90f              ADD      r1,sp,#0x3c
0003ce  4668              MOV      r0,sp
0003d0  f7fffffe          BL       strcat
;;;363    	strcat(str10,str4);
0003d4  4639              MOV      r1,r7
0003d6  4668              MOV      r0,sp
0003d8  f7fffffe          BL       strcat
;;;364    	strcat(str10,str5a);
0003dc  a90e              ADD      r1,sp,#0x38
0003de  4668              MOV      r0,sp
0003e0  f7fffffe          BL       strcat
;;;365    	strcat(str10,str5);
0003e4  4641              MOV      r1,r8
0003e6  4668              MOV      r0,sp
0003e8  f7fffffe          BL       strcat
;;;366    	strcat(str10,str7);
0003ec  a90d              ADD      r1,sp,#0x34
0003ee  4668              MOV      r0,sp
0003f0  f7fffffe          BL       strcat
;;;367    	strcat(str10,str8);
0003f4  4649              MOV      r1,r9
0003f6  4668              MOV      r0,sp
0003f8  f7fffffe          BL       strcat
;;;368    	strcat(str10,str9);
0003fc  4651              MOV      r1,r10
0003fe  e085              B        |L1.1292|
                  |L1.1024|
000400  41544531          DCB      "ATE1"
                  |L1.1028|
000404  0d0a00            DCB      "\r\n",0
000407  00                DCB      0
                  |L1.1032|
000408  415445300d0a00        DCB      "ATE0\r\n",0
00040f  00                DCB      0
                  |L1.1040|
                          DCD      0x40004400
                  |L1.1044|
000414  41542b43494653520d0a00        DCB      "AT+CIFSR\r\n",0
00041f  00                DCB      0
                  |L1.1056|
000420  41540d0a00        DCB      "AT\r\n",0
000425  00                DCB      0
000426  00                DCB      0
000427  00                DCB      0
                  |L1.1064|
000428  41542b4d515454434c45414e3d300d0a00        DCB      "AT+MQTTCLEAN=0\r\n",0
000439  00                DCB      0
00043a  00                DCB      0
00043b  00                DCB      0
                  |L1.1084|
00043c  41542b474d520d0a00        DCB      "AT+GMR\r\n",0
000445  00                DCB      0
000446  00                DCB      0
000447  00                DCB      0
                  |L1.1096|
                          DCD      AT_MODE
                  |L1.1100|
00044c  41542b43574d4f44453d00        DCB      "AT+CWMODE=",0
000457  00                DCB      0
                  |L1.1112|
000458  55445000          DCB      "UDP",0
                  |L1.1116|
00045c  3139322e3136382e342e3200        DCB      "192.168.4.2",0
                  |L1.1128|
000468  3430303000        DCB      "4000",0
00046d  00                DCB      0
00046e  00                DCB      0
00046f  00                DCB      0
                  |L1.1136|
000470  3000              DCB      "0",0
000472  00                DCB      0
000473  00                DCB      0
                  |L1.1140|
000474  41542b43495053544152543d00        DCB      "AT+CIPSTART=",0
000481  00                DCB      0
000482  00                DCB      0
000483  00                DCB      0
                  |L1.1156|
000484  41542b43574a41503d00        DCB      "AT+CWJAP=",0
00048e  00                DCB      0
00048f  00                DCB      0
                  |L1.1168|
000490  41542b4349505354415455530d0a00        DCB      "AT+CIPSTATUS\r\n",0
00049f  00                DCB      0
                  |L1.1184|
0004a0  41542b4d515454555345524346473d00        DCB      "AT+MQTTUSERCFG=",0
                  |L1.1200|
0004b0  302c312c00        DCB      "0,1,",0
0004b5  00                DCB      0
0004b6  00                DCB      0
0004b7  00                DCB      0
                  |L1.1208|
0004b8  3030303100        DCB      "0001",0
0004bd  00                DCB      0
0004be  00                DCB      0
0004bf  00                DCB      0
                  |L1.1216|
0004c0  2c302c302c00        DCB      ",0,0,",0
0004c6  00                DCB      0
0004c7  00                DCB      0
                  |L1.1224|
0004c8  41542b4d515454434f4e4e3d00        DCB      "AT+MQTTCONN=",0
0004d5  00                DCB      0
0004d6  00                DCB      0
0004d7  00                DCB      0
                  |L1.1240|
0004d8  302c00            DCB      "0,",0
0004db  00                DCB      0
                  |L1.1244|
0004dc  2c3100            DCB      ",1",0
0004df  00                DCB      0
                  |L1.1248|
0004e0  41542b4d5154545055423d00        DCB      "AT+MQTTPUB=",0
                  |L1.1260|
                          DCD      mac
                  |L1.1264|
0004f0  2c302c3100        DCB      ",0,1",0
0004f5  00                DCB      0
0004f6  00                DCB      0
0004f7  00                DCB      0
                  |L1.1272|
                          DCD      pub_send_flag
                  |L1.1276|
0004fc  41542b4d5154545355423d00        DCB      "AT+MQTTSUB=",0
                  |L1.1288|
000508  2c3000            DCB      ",0",0
00050b  00                DCB      0
                  |L1.1292|
00050c  4668              MOV      r0,sp
00050e  f7fffffe          BL       strcat
;;;369    	//sub_send_flag=1;
;;;370    	USART_OUT(USART2,(uint8_t *)str10);	 	
000512  4669              MOV      r1,sp
000514  4802              LDR      r0,|L1.1312|
000516  f7fffffe          BL       USART_OUT
;;;371    }
00051a  b010              ADD      sp,sp,#0x40
00051c  e8bd87f0          POP      {r4-r10,pc}
;;;372    /******************* (C) COPYRIGHT 2023 ܶSTM32 *****END OF FILE****/
                          ENDP

                  |L1.1312|
                          DCD      0x40004400
