; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\main.o --asm_dir=.\list\ --list_dir=.\list\ --depend=.\obj\main.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931 -I.\FWlib\inc -I.\user -I.\CM3 -I.\dmp -I.\RTE\_STM32-FD -If:\Users\Administrator\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -If:\Users\Administrator\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__MICROLIB -D__UVISION_VERSION=530 -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD --omf_browse=.\obj\main.crf user\main.c]
                          THUMB

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

                  LED_Config PROC
;;;71     ****************************************************************************/ 
;;;72     void LED_Config(void){
000000  b508              PUSH     {r3,lr}
;;;73       GPIO_InitTypeDef GPIO_InitStructure;	  
;;;74       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;				       //LED1  V1	  Ϊͨ  
000002  2020              MOVS     r0,#0x20
000004  f8ad0000          STRH     r0,[sp,#0]
;;;75       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
000008  2010              MOVS     r0,#0x10
00000a  f88d0003          STRB     r0,[sp,#3]
;;;76       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;			 //߷תٶΪ50MHz
00000e  2003              MOVS     r0,#3
000010  f88d0002          STRB     r0,[sp,#2]
;;;77       GPIO_Init(GPIOB, &GPIO_InitStructure); 
000014  4669              MOV      r1,sp
000016  48f8              LDR      r0,|L1.1016|
000018  f7fffffe          BL       GPIO_Init
;;;78     }
00001c  bd08              POP      {r3,pc}
;;;79     
                          ENDP

                  GPIO_Config PROC
;;;80     //----------------------------------------------
;;;81     void GPIO_Config(void){
00001e  b510              PUSH     {r4,lr}
;;;82       RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);	
000020  2101              MOVS     r1,#1
000022  201c              MOVS     r0,#0x1c
000024  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;83     }
000028  bd10              POP      {r4,pc}
;;;84     
                          ENDP

                  numm PROC
;;;93     ****************************************************************************/
;;;94     void numm(void){
00002a  b510              PUSH     {r4,lr}
;;;95        //num=0;
;;;96        if(_it0==1){			 									  //±־ 
00002c  48f3              LDR      r0,|L1.1020|
00002e  7800              LDRB     r0,[r0,#0]  ; _it0
000030  2801              CMP      r0,#1
000032  d120              BNE      |L1.118|
;;;97        	 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==0){		  //K2  
000034  2104              MOVS     r1,#4
000036  48f0              LDR      r0,|L1.1016|
000038  f7fffffe          BL       GPIO_ReadInputDataBit
00003c  b9d8              CBNZ     r0,|L1.118|
;;;98     	  	delay_ms(10);										  
00003e  200a              MOVS     r0,#0xa
000040  f7fffffe          BL       delay_ms
;;;99     			if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==0){		  //
000044  2104              MOVS     r1,#4
000046  48ec              LDR      r0,|L1.1016|
000048  f7fffffe          BL       GPIO_ReadInputDataBit
00004c  b998              CBNZ     r0,|L1.118|
;;;100    				while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==0);//Ƿɿ	 
00004e  bf00              NOP      
                  |L1.80|
000050  2104              MOVS     r1,#4
000052  48e9              LDR      r0,|L1.1016|
000054  f7fffffe          BL       GPIO_ReadInputDataBit
000058  2800              CMP      r0,#0
00005a  d0f9              BEQ      |L1.80|
;;;101    				num++;
00005c  48e8              LDR      r0,|L1.1024|
00005e  7800              LDRB     r0,[r0,#0]  ; num
000060  1c40              ADDS     r0,r0,#1
000062  49e7              LDR      r1,|L1.1024|
000064  7008              STRB     r0,[r1,#0]
;;;102    				if(num>1) num=0;  								  //ֵ1  ΪK2
000066  4608              MOV      r0,r1
000068  7800              LDRB     r0,[r0,#0]  ; num
00006a  2801              CMP      r0,#1
00006c  dd01              BLE      |L1.114|
00006e  2000              MOVS     r0,#0
000070  7008              STRB     r0,[r1,#0]
                  |L1.114|
;;;103    				LCD_CLS();
000072  f7fffffe          BL       LCD_CLS
                  |L1.118|
;;;104    			}
;;;105    	  }		  
;;;106       }
;;;107       _it0=0; 
000076  2000              MOVS     r0,#0
000078  49e0              LDR      r1,|L1.1020|
00007a  7008              STRB     r0,[r1,#0]
;;;108    }
00007c  bd10              POP      {r4,pc}
;;;109    
                          ENDP

                  ATBACK PROC
;;;266    ****************************************************************************/
;;;267    void ATBACK(void){    
00007e  b570              PUSH     {r4-r6,lr}
;;;268     
;;;269       char *str1;
;;;270       char *str2;   
;;;271    
;;;272      if(rec_f==1){     	 
000080  48e0              LDR      r0,|L1.1028|
000082  7800              LDRB     r0,[r0,#0]  ; rec_f
000084  2801              CMP      r0,#1
000086  d170              BNE      |L1.362|
;;;273          
;;;274    	  str1 = (char *)TxBuffer1;		                            //USART2ATָ 
000088  4ddf              LDR      r5,|L1.1032|
;;;275    	  USART_OUT(USART1,(unsigned char *)str1);					//USART2ATָݴ͵USART1ڼ 
00008a  4629              MOV      r1,r5
00008c  48df              LDR      r0,|L1.1036|
00008e  f7fffffe          BL       USART_OUT
;;;276    	  str2=strstr((const char *)str1, "APIP,");		        //wifiģ12λMACַ	    
000092  a1df              ADR      r1,|L1.1040|
000094  4628              MOV      r0,r5
000096  f7fffffe          BL       strstr
00009a  4604              MOV      r4,r0
;;;277    	  if(str2!= NULL ){
00009c  b1fc              CBZ      r4,|L1.222|
;;;278    	  	mac[0]=str2[8];	mac[1]=str2[9];
00009e  7a20              LDRB     r0,[r4,#8]
0000a0  49dd              LDR      r1,|L1.1048|
0000a2  7008              STRB     r0,[r1,#0]
0000a4  7a60              LDRB     r0,[r4,#9]
0000a6  7048              STRB     r0,[r1,#1]
;;;279    		mac[2]=str2[11];mac[3]=str2[12];
0000a8  7ae0              LDRB     r0,[r4,#0xb]
0000aa  7088              STRB     r0,[r1,#2]
0000ac  7b20              LDRB     r0,[r4,#0xc]
0000ae  70c8              STRB     r0,[r1,#3]
;;;280    		mac[4]=str2[14];mac[5]=str2[15];
0000b0  7ba0              LDRB     r0,[r4,#0xe]
0000b2  7108              STRB     r0,[r1,#4]
0000b4  7be0              LDRB     r0,[r4,#0xf]
0000b6  7148              STRB     r0,[r1,#5]
;;;281    		mac[6]=str2[17];mac[7]=str2[18];							  
0000b8  7c60              LDRB     r0,[r4,#0x11]
0000ba  7188              STRB     r0,[r1,#6]
0000bc  7ca0              LDRB     r0,[r4,#0x12]
0000be  71c8              STRB     r0,[r1,#7]
;;;282    		mac[8]=str2[20];mac[9]=str2[21];
0000c0  7d20              LDRB     r0,[r4,#0x14]
0000c2  7208              STRB     r0,[r1,#8]
0000c4  7d60              LDRB     r0,[r4,#0x15]
0000c6  7248              STRB     r0,[r1,#9]
;;;283    		mac[10]=str2[23];mac[11]=str2[24];	  
0000c8  7de0              LDRB     r0,[r4,#0x17]
0000ca  7288              STRB     r0,[r1,#0xa]
0000cc  7e20              LDRB     r0,[r4,#0x18]
0000ce  72c8              STRB     r0,[r1,#0xb]
;;;284    		AT_MODE=2;
0000d0  2002              MOVS     r0,#2
0000d2  49d2              LDR      r1,|L1.1052|
0000d4  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;285    		buff=mac;
0000d6  48d0              LDR      r0,|L1.1048|
0000d8  49d1              LDR      r1,|L1.1056|
0000da  6008              STR      r0,[r1,#0]  ; buff
                  |L1.220|
0000dc  e0dc              B        |L1.664|
                  |L1.222|
;;;286    	  }
;;;287    	  else if(strstr((const char *)str1, "T+CWMODE")!= NULL) {   //WIFIģʽóɹ 
0000de  a1d1              ADR      r1,|L1.1060|
0000e0  4628              MOV      r0,r5
0000e2  f7fffffe          BL       strstr
0000e6  b118              CBZ      r0,|L1.240|
;;;288    		AT_MODE=1;	
0000e8  2001              MOVS     r0,#1
0000ea  49cc              LDR      r1,|L1.1052|
0000ec  6008              STR      r0,[r1,#0]  ; AT_MODE
0000ee  e0d3              B        |L1.664|
                  |L1.240|
;;;289    	  }	
;;;290    	  else if(strstr((const char *)str1, "MQTTCLEAN")!= NULL && strstr((const char *)str1, "busy p")!= NULL) {   //WIFIģʽóɹ 
0000f0  a1cf              ADR      r1,|L1.1072|
0000f2  4628              MOV      r0,r5
0000f4  f7fffffe          BL       strstr
0000f8  b140              CBZ      r0,|L1.268|
0000fa  a1d0              ADR      r1,|L1.1084|
0000fc  4628              MOV      r0,r5
0000fe  f7fffffe          BL       strstr
000102  b118              CBZ      r0,|L1.268|
;;;291    		AT_MODE=8;	
000104  2008              MOVS     r0,#8
000106  49c5              LDR      r1,|L1.1052|
000108  6008              STR      r0,[r1,#0]  ; AT_MODE
00010a  e0c5              B        |L1.664|
                  |L1.268|
;;;292    	  }	
;;;293    	  else if(strstr((const char *)str1, "T+CIPSTART")!= NULL) { //WIFI·½ɹ 
00010c  a1cd              ADR      r1,|L1.1092|
00010e  4628              MOV      r0,r5
000110  f7fffffe          BL       strstr
000114  b130              CBZ      r0,|L1.292|
;;;294    	  	wifi_connected=1;
000116  2001              MOVS     r0,#1
000118  49cd              LDR      r1,|L1.1104|
00011a  7008              STRB     r0,[r1,#0]
;;;295    		AT_MODE=3;	  
00011c  2003              MOVS     r0,#3
00011e  49bf              LDR      r1,|L1.1052|
000120  6008              STR      r0,[r1,#0]  ; AT_MODE
000122  e0b9              B        |L1.664|
                  |L1.292|
;;;296    	  }
;;;297    	  else if(strstr((const char *)str1, "T+MQTTUSERCFG")!= NULL) {  //MQTT ûòɹ
000124  a1cb              ADR      r1,|L1.1108|
000126  4628              MOV      r0,r5
000128  f7fffffe          BL       strstr
00012c  b118              CBZ      r0,|L1.310|
;;;298    		AT_MODE=4;
00012e  2004              MOVS     r0,#4
000130  49ba              LDR      r1,|L1.1052|
000132  6008              STR      r0,[r1,#0]  ; AT_MODE
000134  e0b0              B        |L1.664|
                  |L1.310|
;;;299    	  }	
;;;300    	  else if(strstr((const char *)str1, "MQTTCONNECTED")!= NULL && strstr((const char *)str1, "T+MQTTCONN")!= NULL) { //MQTT½ɹ
000136  a1cb              ADR      r1,|L1.1124|
000138  4628              MOV      r0,r5
00013a  f7fffffe          BL       strstr
00013e  b158              CBZ      r0,|L1.344|
000140  a1cc              ADR      r1,|L1.1140|
000142  4628              MOV      r0,r5
000144  f7fffffe          BL       strstr
000148  b130              CBZ      r0,|L1.344|
;;;301    		AT_MODE=5;	
00014a  2005              MOVS     r0,#5
00014c  49b3              LDR      r1,|L1.1052|
00014e  6008              STR      r0,[r1,#0]  ; AT_MODE
;;;302    		mqtt_connected=1;
000150  2001              MOVS     r0,#1
000152  49cb              LDR      r1,|L1.1152|
000154  7008              STRB     r0,[r1,#0]
000156  e09f              B        |L1.664|
                  |L1.344|
;;;303    	  }
;;;304    	  else if(strstr((const char *)str1, "T+MQTTPUB")!= NULL) {   //MQTT ɹ
000158  a1ca              ADR      r1,|L1.1156|
00015a  4628              MOV      r0,r5
00015c  f7fffffe          BL       strstr
000160  b120              CBZ      r0,|L1.364|
;;;305    		pub_send_flag=0;	
000162  2000              MOVS     r0,#0
000164  49ca              LDR      r1,|L1.1168|
000166  7008              STRB     r0,[r1,#0]
000168  e096              B        |L1.664|
                  |L1.362|
00016a  e09c              B        |L1.678|
                  |L1.364|
;;;306    		//USART_OUT1(USART1,"4\r\n");	
;;;307    	  }	
;;;308    	  else if(strstr((const char *)str1, "IPD")!= NULL) {  ////յMQTTѶϢ:led
00016c  a1c9              ADR      r1,|L1.1172|
00016e  4628              MOV      r0,r5
000170  f7fffffe          BL       strstr
000174  2800              CMP      r0,#0
000176  d0b1              BEQ      |L1.220|
;;;309    		 if(strstr((const char *)str1, "go")!= NULL){  		 
000178  a1c7              ADR      r1,|L1.1176|
00017a  4628              MOV      r0,r5
00017c  f7fffffe          BL       strstr
000180  b128              CBZ      r0,|L1.398|
;;;310    			move_status=1;	
000182  2001              MOVS     r0,#1
000184  49c5              LDR      r1,|L1.1180|
000186  7008              STRB     r0,[r1,#0]
;;;311    			first=1;															
000188  49c5              LDR      r1,|L1.1184|
00018a  7008              STRB     r0,[r1,#0]
00018c  e084              B        |L1.664|
                  |L1.398|
;;;312    		 }
;;;313    		 else if(strstr((const char *)str1, "back")!= NULL){  		 
00018e  a1c5              ADR      r1,|L1.1188|
000190  4628              MOV      r0,r5
000192  f7fffffe          BL       strstr
000196  b130              CBZ      r0,|L1.422|
;;;314    			move_status=2;
000198  2002              MOVS     r0,#2
00019a  49c0              LDR      r1,|L1.1180|
00019c  7008              STRB     r0,[r1,#0]
;;;315    			first=1;																	
00019e  2001              MOVS     r0,#1
0001a0  49bf              LDR      r1,|L1.1184|
0001a2  7008              STRB     r0,[r1,#0]
0001a4  e078              B        |L1.664|
                  |L1.422|
;;;316    		 }
;;;317    		 else if(strstr((const char *)str1, "right")!= NULL){  		 
0001a6  a1c1              ADR      r1,|L1.1196|
0001a8  4628              MOV      r0,r5
0001aa  f7fffffe          BL       strstr
0001ae  b130              CBZ      r0,|L1.446|
;;;318    			move_status=3;
0001b0  2003              MOVS     r0,#3
0001b2  49ba              LDR      r1,|L1.1180|
0001b4  7008              STRB     r0,[r1,#0]
;;;319    			first=1;																			
0001b6  2001              MOVS     r0,#1
0001b8  49b9              LDR      r1,|L1.1184|
0001ba  7008              STRB     r0,[r1,#0]
0001bc  e06c              B        |L1.664|
                  |L1.446|
;;;320    		 }
;;;321    		 else if(strstr((const char *)str1, "left")!= NULL){  		 
0001be  a1bd              ADR      r1,|L1.1204|
0001c0  4628              MOV      r0,r5
0001c2  f7fffffe          BL       strstr
0001c6  b130              CBZ      r0,|L1.470|
;;;322    			move_status=4;	
0001c8  2004              MOVS     r0,#4
0001ca  49b4              LDR      r1,|L1.1180|
0001cc  7008              STRB     r0,[r1,#0]
;;;323    			first=1;																		
0001ce  2001              MOVS     r0,#1
0001d0  49b3              LDR      r1,|L1.1184|
0001d2  7008              STRB     r0,[r1,#0]
0001d4  e060              B        |L1.664|
                  |L1.470|
;;;324    		 }
;;;325    		 else if(strstr((const char *)str1, "stop")!= NULL){  		 
0001d6  a1b9              ADR      r1,|L1.1212|
0001d8  4628              MOV      r0,r5
0001da  f7fffffe          BL       strstr
0001de  b130              CBZ      r0,|L1.494|
;;;326    			move_status=0;
0001e0  2000              MOVS     r0,#0
0001e2  49ae              LDR      r1,|L1.1180|
0001e4  7008              STRB     r0,[r1,#0]
;;;327    			first=1;																			
0001e6  2001              MOVS     r0,#1
0001e8  49ad              LDR      r1,|L1.1184|
0001ea  7008              STRB     r0,[r1,#0]
0001ec  e054              B        |L1.664|
                  |L1.494|
;;;328    		 }
;;;329    		 else if(strstr((const char *)str1, "devon")!= NULL){  		 
0001ee  a1b5              ADR      r1,|L1.1220|
0001f0  4628              MOV      r0,r5
0001f2  f7fffffe          BL       strstr
0001f6  b148              CBZ      r0,|L1.524|
;;;330    			move_status=0;
0001f8  2000              MOVS     r0,#0
0001fa  49a8              LDR      r1,|L1.1180|
0001fc  7008              STRB     r0,[r1,#0]
;;;331    			csb_flag=1; 
0001fe  2001              MOVS     r0,#1
000200  49b2              LDR      r1,|L1.1228|
000202  6008              STR      r0,[r1,#0]  ; csb_flag
;;;332    			first=0;																			
000204  2000              MOVS     r0,#0
000206  49a6              LDR      r1,|L1.1184|
000208  7008              STRB     r0,[r1,#0]
00020a  e045              B        |L1.664|
                  |L1.524|
;;;333    		 }
;;;334    		 else if(strstr((const char *)str1, "devoff")!= NULL){  		 
00020c  a1b0              ADR      r1,|L1.1232|
00020e  4628              MOV      r0,r5
000210  f7fffffe          BL       strstr
000214  b140              CBZ      r0,|L1.552|
;;;335    			csb_flag=0;
000216  2000              MOVS     r0,#0
000218  49ac              LDR      r1,|L1.1228|
00021a  6008              STR      r0,[r1,#0]  ; csb_flag
;;;336    			move_status=0;
00021c  499f              LDR      r1,|L1.1180|
00021e  7008              STRB     r0,[r1,#0]
;;;337    			first=1;																			
000220  2001              MOVS     r0,#1
000222  499f              LDR      r1,|L1.1184|
000224  7008              STRB     r0,[r1,#0]
000226  e037              B        |L1.664|
                  |L1.552|
;;;338    		 }	
;;;339    		 else if(strstr((const char *)str1, "low")!= NULL){  		 
000228  a1ab              ADR      r1,|L1.1240|
00022a  4628              MOV      r0,r5
00022c  f7fffffe          BL       strstr
000230  b168              CBZ      r0,|L1.590|
;;;340    			PWM_Val=10000;
000232  f2427010          MOV      r0,#0x2710
000236  49a9              LDR      r1,|L1.1244|
000238  6008              STR      r0,[r1,#0]  ; PWM_Val
;;;341    			move_status=0;
00023a  2000              MOVS     r0,#0
00023c  4997              LDR      r1,|L1.1180|
00023e  7008              STRB     r0,[r1,#0]
;;;342    			if(csb_flag==0) first=1;																				
000240  48a2              LDR      r0,|L1.1228|
000242  6800              LDR      r0,[r0,#0]  ; csb_flag
000244  bb40              CBNZ     r0,|L1.664|
000246  2001              MOVS     r0,#1
000248  4995              LDR      r1,|L1.1184|
00024a  7008              STRB     r0,[r1,#0]
00024c  e024              B        |L1.664|
                  |L1.590|
;;;343    		 }
;;;344    		 else if(strstr((const char *)str1, "mid")!= NULL){  		 
00024e  a1a4              ADR      r1,|L1.1248|
000250  4628              MOV      r0,r5
000252  f7fffffe          BL       strstr
000256  b168              CBZ      r0,|L1.628|
;;;345    			PWM_Val=20000;
000258  f6446020          MOV      r0,#0x4e20
00025c  499f              LDR      r1,|L1.1244|
00025e  6008              STR      r0,[r1,#0]  ; PWM_Val
;;;346    			move_status=0;
000260  2000              MOVS     r0,#0
000262  498e              LDR      r1,|L1.1180|
000264  7008              STRB     r0,[r1,#0]
;;;347    			if(csb_flag==0) first=1;																					
000266  4899              LDR      r0,|L1.1228|
000268  6800              LDR      r0,[r0,#0]  ; csb_flag
00026a  b9a8              CBNZ     r0,|L1.664|
00026c  2001              MOVS     r0,#1
00026e  498c              LDR      r1,|L1.1184|
000270  7008              STRB     r0,[r1,#0]
000272  e011              B        |L1.664|
                  |L1.628|
;;;348    		 }
;;;349    		 else if(strstr((const char *)str1, "high")!= NULL){  		 
000274  a19b              ADR      r1,|L1.1252|
000276  4628              MOV      r0,r5
000278  f7fffffe          BL       strstr
00027c  b160              CBZ      r0,|L1.664|
;;;350    			PWM_Val=30000;
00027e  f2475030          MOV      r0,#0x7530
000282  4996              LDR      r1,|L1.1244|
000284  6008              STR      r0,[r1,#0]  ; PWM_Val
;;;351    			move_status=0;
000286  2000              MOVS     r0,#0
000288  4984              LDR      r1,|L1.1180|
00028a  7008              STRB     r0,[r1,#0]
;;;352    			if(csb_flag==0) first=1;																			
00028c  488f              LDR      r0,|L1.1228|
00028e  6800              LDR      r0,[r0,#0]  ; csb_flag
000290  b910              CBNZ     r0,|L1.664|
000292  2001              MOVS     r0,#1
000294  4982              LDR      r1,|L1.1184|
000296  7008              STRB     r0,[r1,#0]
                  |L1.664|
;;;353    		 }
;;;354    
;;;355    		 
;;;356    	  }	
;;;357    	  
;;;358    	  //memset((char *)TxBuffer1, 0, strlen((const char*)TxBuffer1));	    //ݻ
;;;359    	  memset((char *)TxBuffer1, 0, 200);	    //ݻ
000298  21c8              MOVS     r1,#0xc8
00029a  485b              LDR      r0,|L1.1032|
00029c  f7fffffe          BL       __aeabi_memclr4
;;;360    	  rec_f=0;		
0002a0  2000              MOVS     r0,#0
0002a2  4958              LDR      r1,|L1.1028|
0002a4  7008              STRB     r0,[r1,#0]
                  |L1.678|
;;;361    	  
;;;362       } 
;;;363    }
0002a6  bd70              POP      {r4-r6,pc}
;;;364    /****************************************************************************
                          ENDP

                  RCC_Configuration PROC
;;;371    ****************************************************************************/ 
;;;372    void RCC_Configuration(void){
0002a8  b510              PUSH     {r4,lr}
;;;373    
;;;374       SystemInit();   
0002aa  f7fffffe          BL       SystemInit
;;;375       
;;;376       RCC_ADCCLKConfig(RCC_PCLK2_Div6); 
0002ae  f44f4000          MOV      r0,#0x8000
0002b2  f7fffffe          BL       RCC_ADCCLKConfig
;;;377       RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);	 
0002b6  2101              MOVS     r1,#1
0002b8  4608              MOV      r0,r1
0002ba  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;378       //GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);	
;;;379       RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC  , ENABLE);
0002be  2101              MOVS     r1,#1
0002c0  201c              MOVS     r0,#0x1c
0002c2  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;380      
;;;381    }
0002c6  bd10              POP      {r4,pc}
;;;382    
                          ENDP

                  main PROC
;;;118    ****************************************************************************/ 
;;;119    int main(void)
0002c8  b088              SUB      sp,sp,#0x20
;;;120    { 
;;;121      char id[30];					 //豸ID WIFIģ
;;;122    	sample_ct=0;
0002ca  2000              MOVS     r0,#0
0002cc  4987              LDR      r1,|L1.1260|
0002ce  6008              STR      r0,[r1,#0]  ; sample_ct
;;;123    	csb_flag=0;						 //ʲͣ־
0002d0  497e              LDR      r1,|L1.1228|
0002d2  6008              STR      r0,[r1,#0]  ; csb_flag
;;;124    	rc_flag = 2;           //ңر־ 1: WIFI   2: CRSFң
0002d4  2002              MOVS     r0,#2
0002d6  4986              LDR      r1,|L1.1264|
0002d8  7008              STRB     r0,[r1,#0]
;;;125    
;;;126    	PWM_Val=0;//1000;      //ٵPWMʼֵ 	 
0002da  2000              MOVS     r0,#0
0002dc  497f              LDR      r1,|L1.1244|
0002de  6008              STR      r0,[r1,#0]  ; PWM_Val
;;;127    	move_status=0;         //С 0: ֹͣ  1: ǰ  2:   3: ת  4: ת
0002e0  496e              LDR      r1,|L1.1180|
0002e2  7008              STRB     r0,[r1,#0]
;;;128    	Count_left=0;          //ֱ
0002e4  4983              LDR      r1,|L1.1268|
0002e6  6008              STR      r0,[r1,#0]  ; Count_left
;;;129    	Count_right=0;         //ֱ
0002e8  4983              LDR      r1,|L1.1272|
0002ea  6008              STR      r0,[r1,#0]  ; Count_right
;;;130    	Start_PID=0;           //˫СʱǷ˫ֺ㶨תPID 
0002ec  4983              LDR      r1,|L1.1276|
0002ee  7008              STRB     r0,[r1,#0]
;;;131    	wheel_ptr=0;           //PIDʱ׼  1:   2: 
0002f0  4983              LDR      r1,|L1.1280|
0002f2  7008              STRB     r0,[r1,#0]
;;;132    	roll=0;                //MPU6050     
0002f4  4983              LDR      r1,|L1.1284|
0002f6  6008              STR      r0,[r1,#0]  ; roll
;;;133    	pitch=0;               //MPU6050   
0002f8  4983              LDR      r1,|L1.1288|
0002fa  6008              STR      r0,[r1,#0]  ; pitch
;;;134    	yaw=0;                 //MPU6050 ƫ   
0002fc  4983              LDR      r1,|L1.1292|
0002fe  6008              STR      r0,[r1,#0]  ; yaw
;;;135    	Moto_tim2_ct=0;
000300  4983              LDR      r1,|L1.1296|
000302  6008              STR      r0,[r1,#0]  ; Moto_tim2_ct
;;;136    	Target_Count=0;        //ֺPIDʱĿٶ
000304  4983              LDR      r1,|L1.1300|
000306  6008              STR      r0,[r1,#0]  ; Target_Count
;;;137    	Count_moto_start=0;    //ٴtim2ʱжϷĴ	
000308  4983              LDR      r1,|L1.1304|
00030a  7008              STRB     r0,[r1,#0]
;;;138    	first=1;               //С״ִ̬б־
00030c  2001              MOVS     r0,#1
00030e  4964              LDR      r1,|L1.1184|
000310  7008              STRB     r0,[r1,#0]
;;;139    	
;;;140      ssid="mywan";						         //wifi·
000312  a082              ADR      r0,|L1.1308|
000314  4983              LDR      r1,|L1.1316|
000316  6008              STR      r0,[r1,#0]  ; ssid
;;;141      password="www.ourstm.net"; 		   //wifi
000318  a083              ADR      r0,|L1.1320|
00031a  4987              LDR      r1,|L1.1336|
00031c  6008              STR      r0,[r1,#0]  ; password
;;;142      mqtt_server="broker.emqx.io";		 //MQTTַ
00031e  a087              ADR      r0,|L1.1340|
000320  498a              LDR      r1,|L1.1356|
000322  6008              STR      r0,[r1,#0]  ; mqtt_server
;;;143      mqtt_port="1883";					       //MQTT˿ں
000324  a08a              ADR      r0,|L1.1360|
000326  498c              LDR      r1,|L1.1368|
000328  6008              STR      r0,[r1,#0]  ; mqtt_port
;;;144    
;;;145      RCC_Configuration();	           //ڲʱӼʱʹ	  
00032a  f7fffffe          BL       RCC_Configuration
;;;146    	
;;;147      Crc8_init(crc_poly);	           //CRC8 ʼ
00032e  20d5              MOVS     r0,#0xd5
000330  f7fffffe          BL       Crc8_init
;;;148    	
;;;149      //csb_Configuration();				   //ƽųʼ   
;;;150      PID_Init(&P);                    //СPIDʼ    
000334  4889              LDR      r0,|L1.1372|
000336  f7fffffe          BL       PID_Init
;;;151    	Balance_up_PID_Init(&Balance_up);//ƽСPIDֱʼ      
00033a  4889              LDR      r0,|L1.1376|
00033c  f7fffffe          BL       Balance_up_PID_Init
;;;152    	GPIO_Config();	
000340  f7fffffe          BL       GPIO_Config
;;;153    	if(rc_flag==2) USART2_init_CRSF();//ELRSңģʽճʼ     
000344  486a              LDR      r0,|L1.1264|
000346  7800              LDRB     r0,[r0,#0]  ; rc_flag
000348  2802              CMP      r0,#2
00034a  d102              BNE      |L1.850|
00034c  f7fffffe          BL       USART2_init_CRSF
000350  e005              B        |L1.862|
                  |L1.850|
;;;154    	else if(rc_flag==1) USART2_init_WIFI(); //WIFI ңģʽճʼ         
000352  4867              LDR      r0,|L1.1264|
000354  7800              LDRB     r0,[r0,#0]  ; rc_flag
000356  2801              CMP      r0,#1
000358  d101              BNE      |L1.862|
00035a  f7fffffe          BL       USART2_init_WIFI
                  |L1.862|
;;;155      USART1_init();                    //1ʼ   
00035e  f7fffffe          BL       USART1_init
;;;156      SPI_Configuration();    
000362  f7fffffe          BL       SPI_Configuration
;;;157      delay_init();	    	              //ʱʼ	
000366  f7fffffe          BL       delay_init
;;;158      MPU_Init();                       //MPU6050ʼ 
00036a  f7fffffe          BL       MPU_Init
;;;159    	delay_ms(500);                     
00036e  f44f70fa          MOV      r0,#0x1f4
000372  f7fffffe          BL       delay_ms
;;;160    	LED_Config();	                    //LEDƳʼ 
000376  f7fffffe          BL       LED_Config
;;;161      while(mpu_dmp_init());            //ʼMPU6050_DMP
00037a  bf00              NOP      
                  |L1.892|
00037c  f7fffffe          BL       mpu_dmp_init
000380  2800              CMP      r0,#0
000382  d1fb              BNE      |L1.892|
;;;162    	timer1_ini();                     //TIM1ʼ  motor1 תAB 
000384  f7fffffe          BL       timer1_ini
;;;163    	timer2_ini();                     //TIM2ʼ  MPU6050  5ms
000388  f7fffffe          BL       timer2_ini
;;;164    	timer3_ini();                     //TIM3ʼ  motor2 תAB 
00038c  f7fffffe          BL       timer3_ini
;;;165    	timer4_ini();				              //TIM4ʼ  ڲ2·10K PWMźſ	
000390  f7fffffe          BL       timer4_ini
;;;166    	delay_ms(1000);	                  //ʱ100ms
000394  f44f707a          MOV      r0,#0x3e8
000398  f7fffffe          BL       delay_ms
;;;167      LCD_Init();						            //OLEDʼ  
00039c  f7fffffe          BL       LCD_Init
;;;168      if(rc_flag==1){                   //WIFIңģʽ    
0003a0  4853              LDR      r0,|L1.1264|
0003a2  7800              LDRB     r0,[r0,#0]  ; rc_flag
0003a4  2801              CMP      r0,#1
0003a6  d10c              BNE      |L1.962|
;;;169    		delay_ms(500);	                //ʱ100ms
0003a8  f44f70fa          MOV      r0,#0x1f4
0003ac  f7fffffe          BL       delay_ms
;;;170    		AT_ATE(1);		                  //EPS8266 AT
0003b0  2001              MOVS     r0,#1
0003b2  f7fffffe          BL       AT_ATE
;;;171    		delay_ms(500);	                //ʱ100ms
0003b6  f44f70fa          MOV      r0,#0x1f4
0003ba  f7fffffe          BL       delay_ms
;;;172    		ATBACK();                       
0003be  f7fffffe          BL       ATBACK
                  |L1.962|
;;;173      }
;;;174    	distance=0;
0003c2  2000              MOVS     r0,#0
0003c4  4967              LDR      r1,|L1.1380|
0003c6  6008              STR      r0,[r1,#0]  ; distance
;;;175    	CH[1]=0; 	
0003c8  4967              LDR      r1,|L1.1384|
0003ca  8048              STRH     r0,[r1,#2]
;;;176      while(1)
0003cc  e1e1              B        |L1.1938|
                  |L1.974|
;;;177      {	  	
;;;178    	  //printf("%f/%f/%f\n",roll,pitch,yaw);  //ָ豸3D̬ʾ    		
;;;179    	  if(rc_flag==1){              //WIFI ңģʽ 
0003ce  4848              LDR      r0,|L1.1264|
0003d0  7800              LDRB     r0,[r0,#0]  ; rc_flag
0003d2  2801              CMP      r0,#1
0003d4  d10e              BNE      |L1.1012|
;;;180    			if(AT_MODE==0){
0003d6  4811              LDR      r0,|L1.1052|
0003d8  6800              LDR      r0,[r0,#0]  ; AT_MODE
0003da  b950              CBNZ     r0,|L1.1010|
;;;181    				LCD_CLS();
0003dc  f7fffffe          BL       LCD_CLS
;;;182    				LCD_P6x8Str(0,0,"UDP Connecting...");   
0003e0  a262              ADR      r2,|L1.1388|
0003e2  2100              MOVS     r1,#0
0003e4  4608              MOV      r0,r1
0003e6  f7fffffe          BL       LCD_P6x8Str
;;;183    				AT_CWMODE('2');	                       //	station	mode			
0003ea  2032              MOVS     r0,#0x32
0003ec  f7fffffe          BL       AT_CWMODE
0003f0  e0e6              B        |L1.1472|
                  |L1.1010|
0003f2  e0c5              B        |L1.1408|
                  |L1.1012|
0003f4  e1a1              B        |L1.1850|
0003f6  0000              DCW      0x0000
                  |L1.1016|
                          DCD      0x40010c00
                  |L1.1020|
                          DCD      _it0
                  |L1.1024|
                          DCD      num
                  |L1.1028|
                          DCD      rec_f
                  |L1.1032|
                          DCD      TxBuffer1
                  |L1.1036|
                          DCD      0x40013800
                  |L1.1040|
000410  41504950          DCB      "APIP,",0
000414  2c00    
000416  00                DCB      0
000417  00                DCB      0
                  |L1.1048|
                          DCD      mac
                  |L1.1052|
                          DCD      AT_MODE
                  |L1.1056|
                          DCD      buff
                  |L1.1060|
000424  542b4357          DCB      "T+CWMODE",0
000428  4d4f4445
00042c  00      
00042d  00                DCB      0
00042e  00                DCB      0
00042f  00                DCB      0
                  |L1.1072|
000430  4d515454          DCB      "MQTTCLEAN",0
000434  434c4541
000438  4e00    
00043a  00                DCB      0
00043b  00                DCB      0
                  |L1.1084|
00043c  62757379          DCB      "busy p",0
000440  207000  
000443  00                DCB      0
                  |L1.1092|
000444  542b4349          DCB      "T+CIPSTART",0
000448  50535441
00044c  525400  
00044f  00                DCB      0
                  |L1.1104|
                          DCD      wifi_connected
                  |L1.1108|
000454  542b4d51          DCB      "T+MQTTUSERCFG",0
000458  54545553
00045c  45524346
000460  4700    
000462  00                DCB      0
000463  00                DCB      0
                  |L1.1124|
000464  4d515454          DCB      "MQTTCONNECTED",0
000468  434f4e4e
00046c  45435445
000470  4400    
000472  00                DCB      0
000473  00                DCB      0
                  |L1.1140|
000474  542b4d51          DCB      "T+MQTTCONN",0
000478  5454434f
00047c  4e4e00  
00047f  00                DCB      0
                  |L1.1152|
                          DCD      mqtt_connected
                  |L1.1156|
000484  542b4d51          DCB      "T+MQTTPUB",0
000488  54545055
00048c  4200    
00048e  00                DCB      0
00048f  00                DCB      0
                  |L1.1168|
                          DCD      pub_send_flag
                  |L1.1172|
000494  49504400          DCB      "IPD",0
                  |L1.1176|
000498  676f00            DCB      "go",0
00049b  00                DCB      0
                  |L1.1180|
                          DCD      move_status
                  |L1.1184|
                          DCD      first
                  |L1.1188|
0004a4  6261636b          DCB      "back",0
0004a8  00      
0004a9  00                DCB      0
0004aa  00                DCB      0
0004ab  00                DCB      0
                  |L1.1196|
0004ac  72696768          DCB      "right",0
0004b0  7400    
0004b2  00                DCB      0
0004b3  00                DCB      0
                  |L1.1204|
0004b4  6c656674          DCB      "left",0
0004b8  00      
0004b9  00                DCB      0
0004ba  00                DCB      0
0004bb  00                DCB      0
                  |L1.1212|
0004bc  73746f70          DCB      "stop",0
0004c0  00      
0004c1  00                DCB      0
0004c2  00                DCB      0
0004c3  00                DCB      0
                  |L1.1220|
0004c4  6465766f          DCB      "devon",0
0004c8  6e00    
0004ca  00                DCB      0
0004cb  00                DCB      0
                  |L1.1228|
                          DCD      csb_flag
                  |L1.1232|
0004d0  6465766f          DCB      "devoff",0
0004d4  666600  
0004d7  00                DCB      0
                  |L1.1240|
0004d8  6c6f7700          DCB      "low",0
                  |L1.1244|
                          DCD      PWM_Val
                  |L1.1248|
0004e0  6d696400          DCB      "mid",0
                  |L1.1252|
0004e4  68696768          DCB      "high",0
0004e8  00      
0004e9  00                DCB      0
0004ea  00                DCB      0
0004eb  00                DCB      0
                  |L1.1260|
                          DCD      sample_ct
                  |L1.1264|
                          DCD      rc_flag
                  |L1.1268|
                          DCD      Count_left
                  |L1.1272|
                          DCD      Count_right
                  |L1.1276|
                          DCD      Start_PID
                  |L1.1280|
                          DCD      wheel_ptr
                  |L1.1284|
                          DCD      roll
                  |L1.1288|
                          DCD      pitch
                  |L1.1292|
                          DCD      yaw
                  |L1.1296|
                          DCD      Moto_tim2_ct
                  |L1.1300|
                          DCD      Target_Count
                  |L1.1304|
                          DCD      Count_moto_start
                  |L1.1308|
00051c  6d797761          DCB      "mywan",0
000520  6e00    
000522  00                DCB      0
000523  00                DCB      0
                  |L1.1316|
                          DCD      ssid
                  |L1.1320|
000528  7777772e          DCB      "www.ourstm.net",0
00052c  6f757273
000530  746d2e6e
000534  657400  
000537  00                DCB      0
                  |L1.1336|
                          DCD      password
                  |L1.1340|
00053c  62726f6b          DCB      "broker.emqx.io",0
000540  65722e65
000544  6d71782e
000548  696f00  
00054b  00                DCB      0
                  |L1.1356|
                          DCD      mqtt_server
                  |L1.1360|
000550  31383833          DCB      "1883",0
000554  00      
000555  00                DCB      0
000556  00                DCB      0
000557  00                DCB      0
                  |L1.1368|
                          DCD      mqtt_port
                  |L1.1372|
                          DCD      P
                  |L1.1376|
                          DCD      Balance_up
                  |L1.1380|
                          DCD      distance
                  |L1.1384|
                          DCD      ||CH||
                  |L1.1388|
00056c  55445020          DCB      "UDP Connecting...",0
000570  436f6e6e
000574  65637469
000578  6e672e2e
00057c  2e00    
00057e  00                DCB      0
00057f  00                DCB      0
                  |L1.1408|
;;;184    			}
;;;185    			else if(AT_MODE==1){
000580  4884              LDR      r0,|L1.1940|
000582  6800              LDR      r0,[r0,#0]  ; AT_MODE
000584  2801              CMP      r0,#1
000586  d108              BNE      |L1.1434|
;;;186    				LCD_P6x8Str(0,1,"UDP Connecting...");   
000588  f2af0220          ADR      r2,|L1.1388|
00058c  2101              MOVS     r1,#1
00058e  2000              MOVS     r0,#0
000590  f7fffffe          BL       LCD_P6x8Str
;;;187    				AT_CIFSR();	  
000594  f7fffffe          BL       AT_CIFSR
000598  e012              B        |L1.1472|
                  |L1.1434|
;;;188    			}
;;;189    			else if(AT_MODE==2){
00059a  487e              LDR      r0,|L1.1940|
00059c  6800              LDR      r0,[r0,#0]  ; AT_MODE
00059e  2802              CMP      r0,#2
0005a0  d10e              BNE      |L1.1472|
;;;190    				strcpy(id,"ID:");
0005a2  a17d              ADR      r1,|L1.1944|
0005a4  4668              MOV      r0,sp
0005a6  f7fffffe          BL       strcpy
;;;191    				strcat(id,mac);                    
0005aa  497c              LDR      r1,|L1.1948|
0005ac  4668              MOV      r0,sp
0005ae  f7fffffe          BL       strcat
;;;192    				LCD_P6x8Str(0,1,id);               //WIFIģMACַΪ豸ID
0005b2  466a              MOV      r2,sp
0005b4  2101              MOVS     r1,#1
0005b6  2000              MOVS     r0,#0
0005b8  f7fffffe          BL       LCD_P6x8Str
;;;193    				AT_CIPSTART();                     //UDP		
0005bc  f7fffffe          BL       AT_CIPSTART
                  |L1.1472|
;;;194    				//AT_CWJAP(ssid,password);				    //½wifi·
;;;195    			}
;;;196    			if(AT_MODE==4 && csb_flag==1 && move_status==0){   //Сģʽ
0005c0  4874              LDR      r0,|L1.1940|
0005c2  6800              LDR      r0,[r0,#0]  ; AT_MODE
0005c4  2804              CMP      r0,#4
0005c6  d151              BNE      |L1.1644|
0005c8  4875              LDR      r0,|L1.1952|
0005ca  6800              LDR      r0,[r0,#0]  ; csb_flag
0005cc  2801              CMP      r0,#1
0005ce  d14d              BNE      |L1.1644|
0005d0  4874              LDR      r0,|L1.1956|
0005d2  7800              LDRB     r0,[r0,#0]  ; move_status
0005d4  2800              CMP      r0,#0
0005d6  d149              BNE      |L1.1644|
;;;197    				//numm();										        //ɨ	 	 	
;;;198    				//csb_distance();                   //ࣨcm
;;;199    				//distan[ct]= ((ct*68)/100);		         //ݼĶʱʱϰľ   
;;;200      			if(distan[sample_ct]<=400){ 
0005d8  4873              LDR      r0,|L1.1960|
0005da  4974              LDR      r1,|L1.1964|
0005dc  6809              LDR      r1,[r1,#0]  ; sample_ct
0005de  f8500021          LDR      r0,[r0,r1,LSL #2]
0005e2  f5b07fc8          CMP      r0,#0x190
0005e6  dc0e              BGT      |L1.1542|
;;;201    					distance=distance+distan[sample_ct];
0005e8  486f              LDR      r0,|L1.1960|
0005ea  4970              LDR      r1,|L1.1964|
0005ec  6809              LDR      r1,[r1,#0]  ; sample_ct
0005ee  f8500021          LDR      r0,[r0,r1,LSL #2]
0005f2  496f              LDR      r1,|L1.1968|
0005f4  6809              LDR      r1,[r1,#0]  ; distance
0005f6  4408              ADD      r0,r0,r1
0005f8  496d              LDR      r1,|L1.1968|
0005fa  6008              STR      r0,[r1,#0]  ; distance
;;;202    					sample_ct++;
0005fc  486b              LDR      r0,|L1.1964|
0005fe  6800              LDR      r0,[r0,#0]  ; sample_ct
000600  1c40              ADDS     r0,r0,#1
000602  496a              LDR      r1,|L1.1964|
000604  6008              STR      r0,[r1,#0]  ; sample_ct
                  |L1.1542|
;;;203    				}
;;;204    				if(sample_ct>=5){
000606  4869              LDR      r0,|L1.1964|
000608  6800              LDR      r0,[r0,#0]  ; sample_ct
00060a  2805              CMP      r0,#5
00060c  db2e              BLT      |L1.1644|
;;;205    					distance=distance/5;      		
00060e  4868              LDR      r0,|L1.1968|
000610  6800              LDR      r0,[r0,#0]  ; distance
000612  2105              MOVS     r1,#5
000614  fbb0f0f1          UDIV     r0,r0,r1
000618  4965              LDR      r1,|L1.1968|
00061a  6008              STR      r0,[r1,#0]  ; distance
;;;206    					sample_ct=0;		  
00061c  2000              MOVS     r0,#0
00061e  4963              LDR      r1,|L1.1964|
000620  6008              STR      r0,[r1,#0]  ; sample_ct
;;;207    					itoa(distance, (char *)dis_str_distance,10);	          //ֵתΪַ
000622  220a              MOVS     r2,#0xa
000624  4963              LDR      r1,|L1.1972|
000626  4862              LDR      r0,|L1.1968|
000628  6800              LDR      r0,[r0,#0]  ; distance
00062a  f7fffffe          BL       itoa
;;;208    					DIS_csb();
00062e  f7fffffe          BL       DIS_csb
;;;209    					if(distance<=10){                         
000632  485f              LDR      r0,|L1.1968|
000634  6800              LDR      r0,[r0,#0]  ; distance
000636  280a              CMP      r0,#0xa
000638  d80f              BHI      |L1.1626|
;;;210    						Move_back(PWM_Val);
00063a  485f              LDR      r0,|L1.1976|
00063c  6800              LDR      r0,[r0,#0]  ; PWM_Val
00063e  f7fffffe          BL       Move_back
;;;211    						delay_ms(600);	
000642  f44f7016          MOV      r0,#0x258
000646  f7fffffe          BL       delay_ms
;;;212    						Move_right(PWM_Val); 
00064a  485b              LDR      r0,|L1.1976|
00064c  6800              LDR      r0,[r0,#0]  ; PWM_Val
00064e  f7fffffe          BL       Move_right
;;;213    						delay_ms(100);	
000652  2064              MOVS     r0,#0x64
000654  f7fffffe          BL       delay_ms
000658  e005              B        |L1.1638|
                  |L1.1626|
;;;214    					} 
;;;215    					else{
;;;216    						brake();
00065a  f7fffffe          BL       brake
;;;217    						Move_go(PWM_Val);
00065e  4856              LDR      r0,|L1.1976|
000660  6800              LDR      r0,[r0,#0]  ; PWM_Val
000662  f7fffffe          BL       Move_go
                  |L1.1638|
;;;218    					}			
;;;219    					distance=0;
000666  2000              MOVS     r0,#0
000668  4951              LDR      r1,|L1.1968|
00066a  6008              STR      r0,[r1,#0]  ; distance
                  |L1.1644|
;;;220    				}
;;;221    			}	
;;;222    			if(num==0 && AT_MODE==3){
00066c  4853              LDR      r0,|L1.1980|
00066e  7800              LDRB     r0,[r0,#0]  ; num
000670  b940              CBNZ     r0,|L1.1668|
000672  4848              LDR      r0,|L1.1940|
000674  6800              LDR      r0,[r0,#0]  ; AT_MODE
000676  2803              CMP      r0,#3
000678  d104              BNE      |L1.1668|
;;;223    				DIS_csb();	
00067a  f7fffffe          BL       DIS_csb
;;;224    				AT_MODE=4;											                 //ʲʾ
00067e  2004              MOVS     r0,#4
000680  4944              LDR      r1,|L1.1940|
000682  6008              STR      r0,[r1,#0]  ; AT_MODE
                  |L1.1668|
;;;225    			}
;;;226    			if(csb_flag==0 && move_status==1 && first==1){     //ǰ
000684  4846              LDR      r0,|L1.1952|
000686  6800              LDR      r0,[r0,#0]  ; csb_flag
000688  b978              CBNZ     r0,|L1.1706|
00068a  4846              LDR      r0,|L1.1956|
00068c  7800              LDRB     r0,[r0,#0]  ; move_status
00068e  2801              CMP      r0,#1
000690  d10b              BNE      |L1.1706|
000692  484b              LDR      r0,|L1.1984|
000694  7800              LDRB     r0,[r0,#0]  ; first
000696  2801              CMP      r0,#1
000698  d107              BNE      |L1.1706|
;;;227    				Move_go(PWM_Val);
00069a  4847              LDR      r0,|L1.1976|
00069c  6800              LDR      r0,[r0,#0]  ; PWM_Val
00069e  f7fffffe          BL       Move_go
;;;228    				first=0;
0006a2  2000              MOVS     r0,#0
0006a4  4946              LDR      r1,|L1.1984|
0006a6  7008              STRB     r0,[r1,#0]
0006a8  e047              B        |L1.1850|
                  |L1.1706|
;;;229    			} 
;;;230    			else if(csb_flag==0 && move_status==2 && first==1){ //
0006aa  483d              LDR      r0,|L1.1952|
0006ac  6800              LDR      r0,[r0,#0]  ; csb_flag
0006ae  b978              CBNZ     r0,|L1.1744|
0006b0  483c              LDR      r0,|L1.1956|
0006b2  7800              LDRB     r0,[r0,#0]  ; move_status
0006b4  2802              CMP      r0,#2
0006b6  d10b              BNE      |L1.1744|
0006b8  4841              LDR      r0,|L1.1984|
0006ba  7800              LDRB     r0,[r0,#0]  ; first
0006bc  2801              CMP      r0,#1
0006be  d107              BNE      |L1.1744|
;;;231    				Move_back(PWM_Val);
0006c0  483d              LDR      r0,|L1.1976|
0006c2  6800              LDR      r0,[r0,#0]  ; PWM_Val
0006c4  f7fffffe          BL       Move_back
;;;232    				first=0;
0006c8  2000              MOVS     r0,#0
0006ca  493d              LDR      r1,|L1.1984|
0006cc  7008              STRB     r0,[r1,#0]
0006ce  e034              B        |L1.1850|
                  |L1.1744|
;;;233    			} 
;;;234    			else if(csb_flag==0 && move_status==3 && first==1){  //ת
0006d0  4833              LDR      r0,|L1.1952|
0006d2  6800              LDR      r0,[r0,#0]  ; csb_flag
0006d4  b978              CBNZ     r0,|L1.1782|
0006d6  4833              LDR      r0,|L1.1956|
0006d8  7800              LDRB     r0,[r0,#0]  ; move_status
0006da  2803              CMP      r0,#3
0006dc  d10b              BNE      |L1.1782|
0006de  4838              LDR      r0,|L1.1984|
0006e0  7800              LDRB     r0,[r0,#0]  ; first
0006e2  2801              CMP      r0,#1
0006e4  d107              BNE      |L1.1782|
;;;235    				Move_right(PWM_Val);
0006e6  4834              LDR      r0,|L1.1976|
0006e8  6800              LDR      r0,[r0,#0]  ; PWM_Val
0006ea  f7fffffe          BL       Move_right
;;;236    				first=0;
0006ee  2000              MOVS     r0,#0
0006f0  4933              LDR      r1,|L1.1984|
0006f2  7008              STRB     r0,[r1,#0]
0006f4  e021              B        |L1.1850|
                  |L1.1782|
;;;237    			}
;;;238    			else if(csb_flag==0 && move_status==4 && first==1){  //ת
0006f6  482a              LDR      r0,|L1.1952|
0006f8  6800              LDR      r0,[r0,#0]  ; csb_flag
0006fa  b978              CBNZ     r0,|L1.1820|
0006fc  4829              LDR      r0,|L1.1956|
0006fe  7800              LDRB     r0,[r0,#0]  ; move_status
000700  2804              CMP      r0,#4
000702  d10b              BNE      |L1.1820|
000704  482e              LDR      r0,|L1.1984|
000706  7800              LDRB     r0,[r0,#0]  ; first
000708  2801              CMP      r0,#1
00070a  d107              BNE      |L1.1820|
;;;239    				Move_left(PWM_Val);
00070c  482a              LDR      r0,|L1.1976|
00070e  6800              LDR      r0,[r0,#0]  ; PWM_Val
000710  f7fffffe          BL       Move_left
;;;240    				first=0;
000714  2000              MOVS     r0,#0
000716  492a              LDR      r1,|L1.1984|
000718  7008              STRB     r0,[r1,#0]
00071a  e00e              B        |L1.1850|
                  |L1.1820|
;;;241    			}
;;;242    			else if(csb_flag==0 && move_status==0 && first==1){   //ͣ
00071c  4820              LDR      r0,|L1.1952|
00071e  6800              LDR      r0,[r0,#0]  ; csb_flag
000720  b958              CBNZ     r0,|L1.1850|
000722  4820              LDR      r0,|L1.1956|
000724  7800              LDRB     r0,[r0,#0]  ; move_status
000726  b940              CBNZ     r0,|L1.1850|
000728  4825              LDR      r0,|L1.1984|
00072a  7800              LDRB     r0,[r0,#0]  ; first
00072c  2801              CMP      r0,#1
00072e  d104              BNE      |L1.1850|
;;;243    				brake();                 
000730  f7fffffe          BL       brake
;;;244    				first=0;
000734  2000              MOVS     r0,#0
000736  4922              LDR      r1,|L1.1984|
000738  7008              STRB     r0,[r1,#0]
                  |L1.1850|
;;;245    			}
;;;246    	 }
;;;247    	 if(rc_flag==2 ){            //ELRS ңģʽ
00073a  4822              LDR      r0,|L1.1988|
00073c  7800              LDRB     r0,[r0,#0]  ; rc_flag
00073e  2802              CMP      r0,#2
000740  d127              BNE      |L1.1938|
;;;248    		  itoa(roll/1, (char *)CH_STR,10);	          //ֵתΪַ
000742  f04f517e          MOV      r1,#0x3f800000
000746  4820              LDR      r0,|L1.1992|
000748  6800              LDR      r0,[r0,#0]  ; roll
00074a  f7fffffe          BL       __aeabi_fdiv
00074e  4605              MOV      r5,r0
000750  f7fffffe          BL       __aeabi_f2iz
000754  4604              MOV      r4,r0
000756  220a              MOVS     r2,#0xa
000758  491c              LDR      r1,|L1.1996|
00075a  f7fffffe          BL       itoa
;;;249    			//itoa(P.Un, (char *)CH_STR,10);	    
;;;250    			//LCD_P12x24Str_f(2,0,"PWM Val:");	     //ʾ
;;;251          //LCD_P24x40Str(0,0,"     "); 
;;;252    		  //LCD_P24x40Str(0,0,CH_STR); 
;;;253    		  LCD_P12x24Str(0,0,"     "); 
00075e  a21c              ADR      r2,|L1.2000|
000760  2100              MOVS     r1,#0
000762  4608              MOV      r0,r1
000764  f7fffffe          BL       LCD_P12x24Str
;;;254    		  LCD_P12x24Str(0,0,CH_STR); 
000768  4a18              LDR      r2,|L1.1996|
00076a  2100              MOVS     r1,#0
00076c  4608              MOV      r0,r1
00076e  f7fffffe          BL       LCD_P12x24Str
;;;255    		   
;;;256    		  itoa(Balance_up.Ur, (char *)CH_STR,10);	  
000772  4919              LDR      r1,|L1.2008|
000774  220a              MOVS     r2,#0xa
000776  68c8              LDR      r0,[r1,#0xc]  ; Balance_up
000778  4914              LDR      r1,|L1.1996|
00077a  f7fffffe          BL       itoa
;;;257    		 
;;;258          LCD_P24x40Str(0,3,"     "); 
00077e  a214              ADR      r2,|L1.2000|
000780  2103              MOVS     r1,#3
000782  2000              MOVS     r0,#0
000784  f7fffffe          BL       LCD_P24x40Str
;;;259    		  LCD_P24x40Str(0,3,CH_STR); 	
000788  4a10              LDR      r2,|L1.1996|
00078a  2103              MOVS     r1,#3
00078c  2000              MOVS     r0,#0
00078e  f7fffffe          BL       LCD_P24x40Str
                  |L1.1938|
000792  e61c              B        |L1.974|
;;;260    	 }	 
;;;261      }
;;;262    }
;;;263    
                          ENDP

                  |L1.1940|
                          DCD      AT_MODE
                  |L1.1944|
000798  49443a00          DCB      "ID:",0
                  |L1.1948|
                          DCD      mac
                  |L1.1952|
                          DCD      csb_flag
                  |L1.1956|
                          DCD      move_status
                  |L1.1960|
                          DCD      distan
                  |L1.1964|
                          DCD      sample_ct
                  |L1.1968|
                          DCD      distance
                  |L1.1972|
                          DCD      dis_str_distance
                  |L1.1976|
                          DCD      PWM_Val
                  |L1.1980|
                          DCD      num
                  |L1.1984|
                          DCD      first
                  |L1.1988|
                          DCD      rc_flag
                  |L1.1992|
                          DCD      roll
                  |L1.1996|
                          DCD      CH_STR
                  |L1.2000|
0007d0  20202020          DCB      "     ",0
0007d4  2000    
0007d6  00                DCB      0
0007d7  00                DCB      0
                  |L1.2008|
                          DCD      Balance_up

                          AREA ||.bss||, DATA, NOINIT, ALIGN=2

                  TxBuffer1
                          %        50
                  RxBuffer1
                          %        50
                  UART5_RX_BUF
                          %        26
                  USART3_RX_BUF
                          %        28
                  ||CH||
                          %        36
                  mac
                          %        20
                  ||sub||
                          %        20
                  _lut
                          %        258
                  P
                          %        36
                  Balance_up
                          %        36
                  JSON_pub_info
                          %        100
                  distan
                          %        200
                  Gram
                          %        1024

                          AREA ||.conststring||, DATA, READONLY, MERGE=1, STRINGS, ALIGN=2

000000  68747470          DCB      "http://www.fdiot.top/",0
000004  3a2f2f77
000008  77772e66
00000c  64696f74
000010  2e746f70
000014  2f00    
000016  00                DCB      0
000017  00                DCB      0
000018  496f542f          DCB      "IoT/Data/Runtime",0
00001c  44617461
000020  2f52756e
000024  74696d65
000028  00      

                          AREA ||.data||, DATA, ALIGN=2

                  distance
                          DCD      0x00000000
                  dis_str_distance
                          DCD      0x00000000
000008  00                DCB      0x00
                  CH_STR
000009  000000            DCB      0x00,0x00,0x00
00000c  00                DCB      0x00
                  dis_str_adc
00000d  000000            DCB      0x00,0x00,0x00
000010  0000              DCB      0x00,0x00
                  dis_str_tmp
000012  0000              DCB      0x00,0x00
000014  000000            DCB      0x00,0x00,0x00
                  dis_str_hmi
000017  00                DCB      0x00
                          DCD      0x00000000
                  dis_STR1
                          DCD      0x00000000
000020  00000000          DCB      0x00,0x00,0x00,0x00
                  motn_c
                          DCD      0x00000000
                  dis_str_spd
                          DCD      0x00000000
                  ||ct||
                          DCD      0x00000000
                  rc_flag
000030  00                DCB      0x00
                  TxCounter1
000031  000000            DCB      0x00,0x00,0x00
                  AT_MODE
                          DCD      0x00000000
                  wifi_connected
000038  00                DCB      0x00
                  mqtt_connected
000039  00                DCB      0x00
                  pub_send_flag
00003a  00                DCB      0x00
                  sub_send_flag
00003b  00                DCB      0x00
                  AT_rec_f
00003c  00000000          DCB      0x00,0x00,0x00,0x00
                  ssid
                          DCD      0x00000000
                  password
                          DCD      0x00000000
                  mqtt_server
                          DCD      0x00000000
                  mqtt_port
                          DCD      0x00000000
                  PWM_Val
                          DCD      0x00000000
                  move_status
000054  00                DCB      0x00
                  first
000055  00                DCB      0x00
                  RxCounter1
000056  0000              DCB      0x00,0x00
                  RxCounter2
000058  0000              DCB      0x00,0x00
                  rec_f
00005a  00                DCB      0x00
                  page
00005b  00                DCB      0x00
                  Rec_Len
                          DCD      0x00000000
                  count2
                          DCD      0x00000000
                  Count_left
                          DCD      0x00000000
                  Count_right
                          DCD      0x00000000
                  csb_flag
                          DCD      0x00000000
                  m_nSymbolSize
                          DCD      0x00000000
                  Left1_Val
                          DCD      0x00000000
                  Right1_Val
                          DCD      0x00000000
                  Left2_Val
                          DCD      0x00000000
                  Right2_Val
                          DCD      0x00000000
                  Target_Count
                          DCD      0x00000000
                  Start_PID
000088  00                DCB      0x00
                  wheel_ptr
000089  00                DCB      0x00
                  Count_moto_start
00008a  0000              DCB      0x00,0x00
                  pitch
                          DCD      0x00000000
                  roll
                          DCD      0x00000000
                  yaw
                          DCD      0x00000000
                  aacx
000098  0000              DCB      0x00,0x00
                  aacy
00009a  0000              DCB      0x00,0x00
                  aacz
00009c  0000              DCB      0x00,0x00
                  gyrox
00009e  0000              DCB      0x00,0x00
                  gyroy
0000a0  0000              DCB      0x00,0x00
                  gyroz
0000a2  0000              DCB      0x00,0x00
                  TimingDelay
                          DCD      0x00000000
                  Moto_tim2_ct
                          DCD      0x00000000
                  zero
                          DCD      0x00000000
                  sample_ct
                          DCD      0x00000000
                  _it0
0000b4  00                DCB      0x00
                  num
0000b5  000000            DCB      0x00,0x00,0x00
                  buff
                          DCD      ||.conststring||
                  pub1
                          DCD      ||.conststring||+0x18

                  __ARM_use_no_argv EQU 0
