📄 main.lst
字号:
\ In section .XML, align 4, keep-with-next
406 void InitTemperature()
407 {
408
409 TemRHA.IOD=GPIOC;
\ InitTemperature:
\ 00000000 0648 LDR.N R0,??InitTemperature_0 ;; TemRHA
\ 00000002 0749 LDR.N R1,??InitTemperature_0+0x4 ;; 0x40011000
\ 00000004 0160 STR R1,[R0, #+0]
410 TemRHA.IO_D=12;
\ 00000006 0748 LDR.N R0,??InitTemperature_0+0x8 ;; TemRHA + 4
\ 00000008 0C21 MOVS R1,#+12
\ 0000000A 0170 STRB R1,[R0, #+0]
411 TemRHA.IOC=GPIOD;
\ 0000000C 0648 LDR.N R0,??InitTemperature_0+0xC ;; TemRHA + 8
\ 0000000E 0749 LDR.N R1,??InitTemperature_0+0x10 ;; 0x40011400
\ 00000010 0160 STR R1,[R0, #+0]
412 TemRHA.IO_C=2;
\ 00000012 0748 LDR.N R0,??InitTemperature_0+0x14 ;; TemRHA + 12
\ 00000014 0221 MOVS R1,#+2
\ 00000016 0170 STRB R1,[R0, #+0]
413 //TemRHB->IOD=GPIOB,TemRHA->IOD=GPIO_Pin_2,TemRHA->IOC=GPIOB,TemRHA->IOC=GPIO_Pin_2;
414 }
\ 00000018 7047 BX LR ;; return
\ 0000001A 00BF Nop
\ ??InitTemperature_0:
\ 0000001C ........ DC32 TemRHA
\ 00000020 00100140 DC32 0x40011000
\ 00000024 ........ DC32 TemRHA + 4
\ 00000028 ........ DC32 TemRHA + 8
\ 0000002C 00140140 DC32 0x40011400
\ 00000030 ........ DC32 TemRHA + 12
\ In section .XML, align 4, keep-with-next
415 void InitI2CFALSE()
416 {
\ InitI2CFALSE:
\ 00000000 01B5 PUSH {R0,LR}
417 GPIO_InitTypeDef GPIO_InitStructure;
418 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7;
\ 00000002 C020 MOVS R0,#+192
\ 00000004 ADF80000 STRH R0,[SP, #+0]
419 GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)3;
\ 00000008 0320 MOVS R0,#+3
\ 0000000A 8DF80200 STRB R0,[SP, #+2]
420 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
\ 0000000E 1020 MOVS R0,#+16
\ 00000010 8DF80300 STRB R0,[SP, #+3]
421 GPIO_Init (GPIOB, &GPIO_InitStructure);
\ 00000014 6946 MOV R1,SP
\ 00000016 0248 LDR.N R0,??InitI2CFALSE_0 ;; 0x40010c00
\ 00000018 ........ BL GPIO_Init
422
423 }
\ 0000001C 01B0 ADD SP,SP,#+4
\ 0000001E 00BD POP {PC} ;; return
\ ??InitI2CFALSE_0:
\ 00000020 000C0140 DC32 0x40010c00
424 /*************************************************************************
425 *************************************************************************/
\ In section .XML, align 4, keep-with-next
426 void TimInit(void)
427 {
\ TimInit:
\ 00000000 00B5 PUSH {LR}
\ 00000002 85B0 SUB SP,SP,#+20
428 TIM1_TimeBaseInitTypeDef TIM1_TimeBaseInitStruct;
429 TIM_TimeBaseInitTypeDef TIM2_TimeBaseInitStruct;
430 RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
\ 00000004 0121 MOVS R1,#+1
\ 00000006 5FF40060 MOVS R0,#+2048
\ 0000000A ........ BL RCC_APB2PeriphClockCmd
431 //RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1,DISABLE);
432 // Set timer period 0.2 sec
433 TIM1_TimeBaseInitStruct.TIM1_Prescaler = 720; // 10us resolution
\ 0000000E 5FF43470 MOVS R0,#+720
\ 00000012 ADF80800 STRH R0,[SP, #+8]
434 TIM1_TimeBaseInitStruct.TIM1_CounterMode = TIM1_CounterMode_Up;
\ 00000016 0020 MOVS R0,#+0
\ 00000018 ADF80A00 STRH R0,[SP, #+10]
435 TIM1_TimeBaseInitStruct.TIM1_Period = 250; // 200 ms
\ 0000001C FA20 MOVS R0,#+250
\ 0000001E ADF80C00 STRH R0,[SP, #+12]
436 TIM1_TimeBaseInitStruct.TIM1_ClockDivision = TIM1_CKD_DIV1;
\ 00000022 0020 MOVS R0,#+0
\ 00000024 ADF80E00 STRH R0,[SP, #+14]
437 TIM1_TimeBaseInitStruct.TIM1_RepetitionCounter = 0;
\ 00000028 0020 MOVS R0,#+0
\ 0000002A 8DF81000 STRB R0,[SP, #+16]
438 TIM1_TimeBaseInit(&TIM1_TimeBaseInitStruct);
\ 0000002E 02A8 ADD R0,SP,#+8
\ 00000030 ........ BL TIM1_TimeBaseInit
439 // Clear update interrupt bit
440 TIM1_ClearITPendingBit(TIM1_FLAG_Update);//
\ 00000034 0120 MOVS R0,#+1
\ 00000036 ........ BL TIM1_ClearITPendingBit
441 // Enable update interrupt
442 TIM1_ITConfig(TIM1_FLAG_Update,ENABLE);
\ 0000003A 0121 MOVS R1,#+1
\ 0000003C 0120 MOVS R0,#+1
\ 0000003E ........ BL TIM1_ITConfig
443 TIM1_Cmd(ENABLE);
\ 00000042 0120 MOVS R0,#+1
\ 00000044 ........ BL TIM1_Cmd
444
445 TIM_DeInit(TIM2);
\ 00000048 5FF08040 MOVS R0,#+1073741824
\ 0000004C ........ BL TIM_DeInit
446 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
\ 00000050 0121 MOVS R1,#+1
\ 00000052 0120 MOVS R0,#+1
\ 00000054 ........ BL RCC_APB1PeriphClockCmd
447 TIM2_TimeBaseInitStruct.TIM_Prescaler = 17; // 10us resolution
\ 00000058 1120 MOVS R0,#+17
\ 0000005A ADF80200 STRH R0,[SP, #+2]
448 TIM2_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
\ 0000005E 0020 MOVS R0,#+0
\ 00000060 ADF80600 STRH R0,[SP, #+6]
449 TIM2_TimeBaseInitStruct.TIM_Period = 250; // 200 ms
\ 00000064 FA20 MOVS R0,#+250
\ 00000066 ADF80000 STRH R0,[SP, #+0]
450 TIM2_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;
\ 0000006A 0020 MOVS R0,#+0
\ 0000006C ADF80400 STRH R0,[SP, #+4]
451 TIM_TimeBaseInit(TIM2,&TIM2_TimeBaseInitStruct);
\ 00000070 6946 MOV R1,SP
\ 00000072 5FF08040 MOVS R0,#+1073741824
\ 00000076 ........ BL TIM_TimeBaseInit
452 TIM_ClearITPendingBit(TIM2,TIM_IT_CC2);
\ 0000007A 0421 MOVS R1,#+4
\ 0000007C 5FF08040 MOVS R0,#+1073741824
\ 00000080 ........ BL TIM_ClearITPendingBit
453 TIM_ITConfig(TIM2, TIM_IT_CC2, ENABLE);
\ 00000084 0122 MOVS R2,#+1
\ 00000086 0421 MOVS R1,#+4
\ 00000088 5FF08040 MOVS R0,#+1073741824
\ 0000008C ........ BL TIM_ITConfig
454 TIM_Cmd(TIM2,ENABLE);
\ 00000090 0121 MOVS R1,#+1
\ 00000092 5FF08040 MOVS R0,#+1073741824
\ 00000096 ........ BL TIM_Cmd
455 }
\ 0000009A 05B0 ADD SP,SP,#+20
\ 0000009C 00BD POP {PC} ;; return
456 /*************************************************************************/
\ In section .XML, align 4, keep-with-next
457 void NVICInit(void)
458 {
\ NVICInit:
\ 00000000 01B5 PUSH {R0,LR}
459 NVIC_InitTypeDef NVIC_InitStructure;
460 NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQChannel;
\ 00000002 1920 MOVS R0,#+25
\ 00000004 8DF80000 STRB R0,[SP, #+0]
461 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 9;
\ 00000008 0920 MOVS R0,#+9
\ 0000000A 8DF80100 STRB R0,[SP, #+1]
462 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
\ 0000000E 0020 MOVS R0,#+0
\ 00000010 8DF80200 STRB R0,[SP, #+2]
463 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
\ 00000014 0120 MOVS R0,#+1
\ 00000016 8DF80300 STRB R0,[SP, #+3]
464 NVIC_Init(&NVIC_InitStructure);
\ 0000001A 6846 MOV R0,SP
\ 0000001C ........ BL NVIC_Init
465 NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
\ 00000020 1C20 MOVS R0,#+28
\ 00000022 8DF80000 STRB R0,[SP, #+0]
466 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 8;
\ 00000026 0820 MOVS R0,#+8
\ 00000028 8DF80100 STRB R0,[SP, #+1]
467 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
\ 0000002C 0020 MOVS R0,#+0
\ 0000002E 8DF80200 STRB R0,[SP, #+2]
468 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
\ 00000032 0120 MOVS R0,#+1
\ 00000034 8DF80300 STRB R0,[SP, #+3]
469 NVIC_Init(&NVIC_InitStructure);
\ 00000038 6846 MOV R0,SP
\ 0000003A ........ BL NVIC_Init
470 }
\ 0000003E 01B0 ADD SP,SP,#+4
\ 00000040 00BD POP {PC} ;; return
471 /*************************************************************************
472 *
473 *
474 *************************************************************************/
\ In section .XML, align 4, keep-with-next
475 void I2CInit()
476 {
\ I2CInit:
\ 00000000 00B5 PUSH {LR}
\ 00000002 85B0 SUB SP,SP,#+20
477 I2C_InitTypeDef I2C_InitStructure;
478 GPIO_InitTypeDef GPIO_InitStructure;
479
480 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB, ENABLE);
\ 00000004 0121 MOVS R1,#+1
\ 00000006 0920 MOVS R0,#+9
\ 00000008 ........ BL RCC_APB2PeriphClockCmd
481 RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
\ 0000000C 0121 MOVS R1,#+1
\ 0000000E 5FF40010 MOVS R0,#+2097152
\ 00000012 ........ BL RCC_APB1PeriphClockCmd
482 /* Configure I2C1 pins: SCL and SDA */
483 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
\ 00000016 C020 MOVS R0,#+192
\ 00000018 ADF80000 STRH R0,[SP, #+0]
484 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
\ 0000001C 0320 MOVS R0,#+3
\ 0000001E 8DF80200 STRB R0,[SP, #+2]
485 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
\ 00000022 1C20 MOVS R0,#+28
\ 00000024 8DF80300 STRB R0,[SP, #+3]
486 GPIO_Init(GPIOB, &GPIO_InitStructure);
\ 00000028 6946 MOV R1,SP
\ 0000002A 1248 LDR.N R0,??I2CInit_0 ;; 0x40010c00
\ 0000002C ........ BL GPIO_Init
487 I2C_DeInit(I2C1);
\ 00000030 1148 LDR.N R0,??I2CInit_0+0x4 ;; 0x40005400
\ 00000032 ........ BL I2C_DeInit
488 I2C_InitStructure.I2C_Mode=I2C_Mode_I2C;
\ 00000036 0020 MOVS R0,#+0
\ 00000038 ADF80400 STRH R0,[SP, #+4]
489 I2C_InitStructure.I2C_DutyCycle=I2C_DutyCycle_16_9;
\ 0000003C 5FF48040 MOVS R0,#+16384
\ 00000040 ADF80600 STRH R0,[SP, #+6]
490 I2C_InitStructure.I2C_OwnAddress1=0xa0;
\ 00000044 A020 MOVS R0,#+160
\ 00000046 ADF80800 STRH R0,[SP, #+8]
491 I2C_InitStructure.I2C_Ack=I2C_Ack_Enable;
\ 0000004A 5FF48060 MOVS R0,#+1024
\ 0000004E ADF80A00 STRH R0,[SP, #+10]
492 I2C_InitStructure.I2C_AcknowledgedAddress=I2C_AcknowledgedAddress_7bit;
\ 00000052 5FF48040 MOVS R0,#+16384
\ 00000056 ADF80C00 STRH R0,[SP, #+12]
493 I2C_InitStructure.I2C_ClockSpeed=80000;
\ 0000005A 0848 LDR.N R0,??I2CInit_0+0x8 ;; 0x13880
\ 0000005C 0490 STR R0,[SP, #+16]
494 I2C_Init(I2C1,&I2C_InitStructure);
\ 0000005E 01A9 ADD R1,SP,#+4
\ 00000060 0548 LDR.N R0,??I2CInit_0+0x4 ;; 0x40005400
\ 00000062
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -