⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.txt

📁 stm32.rar
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 942] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Int_Flash\main.o --depend=.\Int_Flash\main.d --device=DARMSTM --apcs=interwork -O3 -I..\include -I..\..\..\..\..\INC\ST\STM32F10x\USB -Id:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB --omf_browse=.\Int_Flash\main.crf ..\source\main.c]
                          THUMB

                          AREA ||i.IntExtOnOffConfig||, CODE, READONLY, ALIGN=1

                  IntExtOnOffConfig PROC
;;;318    void IntExtOnOffConfig(FunctionalState NewState)
;;;319    {
000000  b57c              PUSH     {r2-r6,lr}
000002  4606              MOV      r6,r0
;;;320      EXTI_InitTypeDef EXTI_InitStructure;
;;;321    
;;;322      /* Initializes the EXTI_InitStructure */
;;;323      EXTI_StructInit(&EXTI_InitStructure);
000004  4668              MOV      r0,sp
000006  f7fffffe          BL       EXTI_StructInit
00000a  2400              MOVS     r4,#0
00000c  f2480588          MOV      r5,#0x8088
;;;324    
;;;325      /* Disable the EXTI line 3, 7 and 15 on falling edge */
;;;326      if(NewState == DISABLE)
000010  b91e              CBNZ     r6,|L1.26|
;;;327      {
;;;328        EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;329        EXTI_InitStructure.EXTI_LineCmd = DISABLE;
000012  9500              STR      r5,[sp,#0]
000014  f88d4006          STRB     r4,[sp,#6]
;;;330        EXTI_Init(&EXTI_InitStructure);
000018  e00b              B        |L1.50|
                  |L1.26|
;;;331      }
;;;332      /* Enable the EXTI line 3, 7 and 15 on falling edge */
;;;333      else
;;;334      {
;;;335        /* Clear the the EXTI line 3, 7 and 15 interrupt pending bit */
;;;336        EXTI_ClearITPendingBit(EXTI_Line3 | EXTI_Line7 | EXTI_Line15);
00001a  4628              MOV      r0,r5
00001c  f7fffffe          BL       EXTI_ClearITPendingBit
;;;337    
;;;338        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
000020  f88d4004          STRB     r4,[sp,#4]
;;;339        EXTI_InitStructure.EXTI_Line = EXTI_Line3 | EXTI_Line7 | EXTI_Line15;
;;;340        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
000024  200c              MOVS     r0,#0xc
000026  f88d0005          STRB     r0,[sp,#5]
;;;341        EXTI_InitStructure.EXTI_LineCmd = ENABLE;
00002a  2001              MOVS     r0,#1
00002c  9500              STR      r5,[sp,#0]            ;340
00002e  f88d0006          STRB     r0,[sp,#6]
                  |L1.50|
000032  4668              MOV      r0,sp                 ;330
000034  f7fffffe          BL       EXTI_Init
;;;342        EXTI_Init(&EXTI_InitStructure);
;;;343      }
;;;344    }
000038  bd7c              POP      {r2-r6,pc}
;;;345    
                          ENDP


                          AREA ||i.LedShow||, CODE, READONLY, ALIGN=2

                  LedShow PROC
;;;520    void LedShow(FunctionalState NewState)
;;;521    {
000000  b510              PUSH     {r4,lr}
000002  490c              LDR      r1,|L2.52|
000004  4c0c              LDR      r4,|L2.56|
;;;522      /* Enable LEDs toggling */
;;;523      if(NewState == ENABLE)
000006  2801              CMP      r0,#1
000008  d107              BNE      |L2.26|
;;;524      {
;;;525        LedShowStatus = 1;
00000a  6088              STR      r0,[r1,#8]  ; LedShowStatus
;;;526        /* Enable the TIM1 Update Interrupt */
;;;527        TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);
00000c  4602              MOV      r2,r0
00000e  4601              MOV      r1,r0
000010  4620              MOV      r0,r4
000012  f7fffffe          BL       TIM_ITConfig
;;;528        /* TIM1 counter enable */
;;;529        TIM_Cmd(TIM1, ENABLE);
000016  2101              MOVS     r1,#1
000018  e007              B        |L2.42|
                  |L2.26|
;;;530      }
;;;531      /* Disable LEDs toggling */
;;;532      else
;;;533      {
;;;534        LedShowStatus = 0;
00001a  2000              MOVS     r0,#0
00001c  6088              STR      r0,[r1,#8]  ; LedShowStatus
;;;535        /* Disable the TIM1 Update Interrupt */
;;;536        TIM_ITConfig(TIM1, TIM_IT_Update, DISABLE);
00001e  4602              MOV      r2,r0
000020  2101              MOVS     r1,#1
000022  4620              MOV      r0,r4
000024  f7fffffe          BL       TIM_ITConfig
;;;537        /* TIM1 counter disable */
;;;538        TIM_Cmd(TIM1, DISABLE);
000028  2100              MOVS     r1,#0
                  |L2.42|
00002a  4620              MOV      r0,r4
00002c  e8bd4010          POP      {r4,lr}
000030  f7ffbffe          B.W      TIM_Cmd
;;;539      }
;;;540    }
;;;541    
                          ENDP

                  |L2.52|
000034  00000000          DCD      ||.data||
                  |L2.56|
000038  40012c00          DCD      0x40012c00

                          AREA ||i.CheckBitmapFilesStatus||, CODE, READONLY, ALIGN=2

                  CheckBitmapFilesStatus PROC
;;;562    void CheckBitmapFilesStatus(void)
;;;563    {
000000  b510              PUSH     {r4,lr}
;;;564      /* Checks if the Bitmap files are loaded */
;;;565      if(CheckBitmapFiles() != 0)
000002  f7fffffe          BL       CheckBitmapFiles
000006  2800              CMP      r0,#0
000008  d033              BEQ      |L3.114|
;;;566      {
;;;567        /* Set the LCD Back Color */
;;;568        LCD_SetBackColor(Blue);
00000a  201f              MOVS     r0,#0x1f
00000c  f7fffffe          BL       LCD_SetBackColor
;;;569    
;;;570        /* Set the LCD Text Color */
;;;571        LCD_SetTextColor(White);    
000010  f64f70ff          MOV      r0,#0xffff
000014  f7fffffe          BL       LCD_SetTextColor
;;;572        LCD_DisplayStringLine(Line0, "      Warning       ");
000018  a116              ADR      r1,|L3.116|
00001a  2000              MOVS     r0,#0
00001c  f7fffffe          BL       LCD_DisplayStringLine
;;;573        LCD_DisplayStringLine(Line1, "No loaded Bitmap    ");
000020  a11a              ADR      r1,|L3.140|
000022  2018              MOVS     r0,#0x18
000024  f7fffffe          BL       LCD_DisplayStringLine
;;;574        LCD_DisplayStringLine(Line2, "files. Demo can't be");
000028  a11e              ADR      r1,|L3.164|
00002a  2030              MOVS     r0,#0x30
00002c  f7fffffe          BL       LCD_DisplayStringLine
;;;575        LCD_DisplayStringLine(Line3, "executed.           ");
000030  a122              ADR      r1,|L3.188|
000032  2048              MOVS     r0,#0x48
000034  f7fffffe          BL       LCD_DisplayStringLine
;;;576        LCD_DisplayStringLine(Line4, "Please be sure that ");
000038  a126              ADR      r1,|L3.212|
00003a  2060              MOVS     r0,#0x60
00003c  f7fffffe          BL       LCD_DisplayStringLine
;;;577        LCD_DisplayStringLine(Line5, "all files are       ");
000040  a12a              ADR      r1,|L3.236|
000042  2078              MOVS     r0,#0x78
000044  f7fffffe          BL       LCD_DisplayStringLine
;;;578        LCD_DisplayStringLine(Line6, "correctly programmed");
000048  a12e              ADR      r1,|L3.260|
00004a  2090              MOVS     r0,#0x90
00004c  f7fffffe          BL       LCD_DisplayStringLine
;;;579        LCD_DisplayStringLine(Line7, "in the SPI FLASH and");
000050  a132              ADR      r1,|L3.284|
000052  20a8              MOVS     r0,#0xa8
000054  f7fffffe          BL       LCD_DisplayStringLine
;;;580        LCD_DisplayStringLine(Line8, "restart the Demo.   ");
000058  a136              ADR      r1,|L3.308|
00005a  20c0              MOVS     r0,#0xc0
00005c  f7fffffe          BL       LCD_DisplayStringLine
;;;581        LCD_DisplayStringLine(Line9, "                    ");
000060  a13a              ADR      r1,|L3.332|
000062  20d8              MOVS     r0,#0xd8
000064  f7fffffe          BL       LCD_DisplayStringLine
;;;582        
;;;583        /* Deinitializes the NVIC */
;;;584        NVIC_DeInit();
000068  f7fffffe          BL       NVIC_DeInit
;;;585        
;;;586        /* Deinitializes the RCC */
;;;587        RCC_DeInit();
00006c  f7fffffe          BL       RCC_DeInit
                  |L3.112|
;;;588        
;;;589        /* Demo Can't Start */
;;;590        while(1)
000070  e7fe              B        |L3.112|
                  |L3.114|
;;;591        {
;;;592        }
;;;593      }
;;;594    }
000072  bd10              POP      {r4,pc}
;;;595    
                          ENDP

                  |L3.116|
000074  2020202020205761726e696e672020202020202000        DCB      "      Warning       ",0
000089  00                DCB      0
00008a  00                DCB      0
00008b  00                DCB      0
                  |L3.140|
00008c  4e6f206c6f61646564204269746d61702020202000        DCB      "No loaded Bitmap    ",0
0000a1  00                DCB      0
0000a2  00                DCB      0
0000a3  00                DCB      0
                  |L3.164|
0000a4  66696c65732e2044656d6f2063616e277420626500        DCB      "files. Demo can't be",0
0000b9  00                DCB      0
0000ba  00                DCB      0
0000bb  00                DCB      0
                  |L3.188|
0000bc  65786563757465642e202020202020202020202000        DCB      "executed.           ",0
0000d1  00                DCB      0
0000d2  00                DCB      0
0000d3  00                DCB      0
                  |L3.212|
0000d4  506c65617365206265207375726520746861742000        DCB      "Please be sure that ",0
0000e9  00                DCB      0
0000ea  00                DCB      0
0000eb  00                DCB      0
                  |L3.236|
0000ec  616c6c2066696c6573206172652020202020202000        DCB      "all files are       ",0
000101  00                DCB      0
000102  00                DCB      0
000103  00                DCB      0
                  |L3.260|
000104  636f72726563746c792070726f6772616d6d656400        DCB      "correctly programmed",0
000119  00                DCB      0
00011a  00                DCB      0
00011b  00                DCB      0
                  |L3.284|
00011c  696e207468652053504920464c41534820616e6400        DCB      "in the SPI FLASH and",0
000131  00                DCB      0
000132  00                DCB      0
000133  00                DCB      0
                  |L3.308|
000134  72657374617274207468652044656d6f2e20202000        DCB      "restart the Demo.   ",0
000149  00                DCB      0
00014a  00                DCB      0
00014b  00                DCB      0
                  |L3.332|
00014c  202020202020202020202020202020202020202000        DCB      "                    ",0
000161  00                DCB      0
000162  00                DCB      0
000163  00                DCB      0

                          AREA ||i.LedShow_Init||, CODE, READONLY, ALIGN=2

                  LedShow_Init PROC
;;;471    void LedShow_Init(void)
;;;472    {
000000  b530              PUSH     {r4,r5,lr}
000002  b089              SUB      sp,sp,#0x24
;;;473      GPIO_InitTypeDef GPIO_InitStructure;
;;;474      TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
;;;475      TIM_OCInitTypeDef  TIM_OCInitStructure;
;;;476    
;;;477      TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
000004  a805              ADD      r0,sp,#0x14
000006  f7fffffe          BL       TIM_TimeBaseStructInit
;;;478      TIM_OCStructInit(&TIM_OCInitStructure);
00000a  a801              ADD      r0,sp,#4
00000c  f7fffffe          BL       TIM_OCStructInit
;;;479    
;;;480    #if STM3210E
;;;481      /* PF.06, PF.07, PF.08 and PF.09 as output push-pull */
;;;482      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
;;;483      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
;;;484      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
;;;485      GPIO_Init(GPIOF, &GPIO_InitStructure);
;;;486    #else
;;;487      /* PB8..PB13 as output push-pull */
;;;488      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8  | GPIO_Pin_9  | GPIO_Pin_10 | GPIO_Pin_11 |
000010  f44f507c          MOV      r0,#0x3f00
000014  f8ad0020          STRH     r0,[sp,#0x20]
;;;489                                    GPIO_Pin_12 | GPIO_Pin_13 ;
;;;490      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000018  2003              MOVS     r0,#3
00001a  f88d0022          STRB     r0,[sp,#0x22]
;;;491      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
00001e  2010              MOVS     r0,#0x10
000020  f88d0023          STRB     r0,[sp,#0x23]
;;;492      GPIO_Init(GPIOB, &GPIO_InitStructure);
000024  a908              ADD      r1,sp,#0x20
000026  4813              LDR      r0,|L4.116|
000028  f7fffffe          BL       GPIO_Init
;;;493    #endif
;;;494    
;;;495      /* Time Base configuration */
;;;496      TIM_TimeBaseStructure.TIM_Prescaler = 719;
00002c  f24020cf          MOV      r0,#0x2cf
000030  f8ad0014          STRH     r0,[sp,#0x14]
;;;497      TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
000034  2400              MOVS     r4,#0
;;;498      TIM_TimeBaseStructure.TIM_Period = 0x270F;
000036  f242700f          MOV      r0,#0x270f
00003a  f8ad0018          STRH     r0,[sp,#0x18]
;;;499      TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
;;;500      TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;
;;;501    
;;;502      TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
00003e  4d0e              LDR      r5,|L4.120|
000040  f8ad4016          STRH     r4,[sp,#0x16]         ;497
000044  f8ad401a          STRH     r4,[sp,#0x1a]         ;499
000048  f88d401c          STRB     r4,[sp,#0x1c]         ;500
00004c  a905              ADD      r1,sp,#0x14
00004e  4628              MOV      r0,r5
000050  f7fffffe          BL       TIM_TimeBaseInit
;;;503    
;;;504      /* Channel 1 Configuration in Timing mode */
;;;505      TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing;
000054  f8ad4004          STRH     r4,[sp,#4]
;;;506      TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
000058  2001              MOVS     r0,#1
00005a  f8ad0006          STRH     r0,[sp,#6]
;;;507      TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
00005e  f8ad4008          STRH     r4,[sp,#8]
;;;508      TIM_OCInitStructure.TIM_Pulse = 0x0;
000062  f8ad400a          STRH     r4,[sp,#0xa]
;;;509      
;;;510      TIM_OC1Init(TIM1, &TIM_OCInitStructure); 
000066  a901              ADD      r1,sp,#4
000068  4628              MOV      r0,r5
00006a  f7fffffe          BL       TIM_OC1Init
;;;511    }
00006e  b009              ADD      sp,sp,#0x24
000070  bd30              POP      {r4,r5,pc}
;;;512    
                          ENDP

000072  0000              DCW      0x0000
                  |L4.116|
000074  40010c00          DCD      0x40010c00
                  |L4.120|
000078  40012c00          DCD      0x40012c00

                          AREA ||i.SysTick_Config||, CODE, READONLY, ALIGN=2

                  SysTick_Config PROC
000000  b510              PUSH     {r4,lr}
000002  2004              MOVS     r0,#4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -