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

📄 main.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\main.o --depend=.\Obj\main.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\source\main.c]
                          THUMB

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

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

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

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

                  Decrement_TimingDelay PROC
;;;447    *******************************************************************************/
;;;448    void Decrement_TimingDelay(void)
000000  4803              LDR      r0,|L2.16|
;;;449    {
;;;450      if (TimingDelay != 0x00)
000002  6841              LDR      r1,[r0,#4]  ; TimingDelay
000004  2900              CMP      r1,#0
000006  d002              BEQ      |L2.14|
;;;451      {
;;;452        TimingDelay--;
000008  6841              LDR      r1,[r0,#4]  ; TimingDelay
00000a  1e49              SUBS     r1,r1,#1
00000c  6041              STR      r1,[r0,#4]  ; TimingDelay
                  |L2.14|
;;;453      }
;;;454    }
00000e  4770              BX       lr
;;;455    
                          ENDP

                  |L2.16|
                          DCD      ||.data||

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

                  Delay PROC
;;;397    *******************************************************************************/
;;;398    void Delay(u32 nCount)
000000  b510              PUSH     {r4,lr}
;;;399    {
;;;400      TimingDelay = nCount;
000002  4c04              LDR      r4,|L3.20|
000004  6060              STR      r0,[r4,#4]  ; TimingDelay
;;;401    
;;;402      /* Enable the SysTick Counter */
;;;403      SysTick_CounterCmd(SysTick_Counter_Enable);
000006  2001              MOVS     r0,#1
000008  f7fffffe          BL       SysTick_CounterCmd
                  |L3.12|
;;;404      
;;;405      while(TimingDelay != 0)
00000c  6860              LDR      r0,[r4,#4]  ; TimingDelay
00000e  2800              CMP      r0,#0
000010  d1fc              BNE      |L3.12|
;;;406      {
;;;407      }
;;;408    
;;;409      /* Disable the SysTick Counter */
;;;410     // SysTick_CounterCmd(SysTick_Counter_Disable);
;;;411    
;;;412      /* Clear the SysTick Counter */
;;;413     // SysTick_CounterCmd(SysTick_Counter_Clear);
;;;414    }
000012  bd10              POP      {r4,pc}
;;;415    
                          ENDP

                  |L3.20|
                          DCD      ||.data||

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

                  DelayJoyStick PROC
;;;423    *******************************************************************************/
;;;424    u32 DelayJoyStick(u32 nTime)
000000  b570              PUSH     {r4-r6,lr}
;;;425    {
000002  4606              MOV      r6,r0
;;;426      vu32 keystate = 0;
000004  2400              MOVS     r4,#0
;;;427    
;;;428      /* Enable the SysTick Counter */
;;;429      SysTick_CounterCmd(SysTick_Counter_Enable);
000006  2001              MOVS     r0,#1
000008  f7fffffe          BL       SysTick_CounterCmd
;;;430    
;;;431      TimingDelay = nTime;
00000c  4d08              LDR      r5,|L4.48|
00000e  606e              STR      r6,[r5,#4]  ; TimingDelay
;;;432     
;;;433      while((TimingDelay != 0) && (keystate != RIGHT) && (keystate != LEFT) && (keystate != SEL))
000010  e003              B        |L4.26|
;;;434      {
;;;435        keystate = ReadKey();
000012  bf00              NOP      
                  |L4.20|
000014  f7fffffe          BL       ReadKey
000018  4604              MOV      r4,r0
                  |L4.26|
00001a  6868              LDR      r0,[r5,#4]            ;433  ; TimingDelay
00001c  b128              CBZ      r0,|L4.42|
00001e  2c02              CMP      r4,#2                 ;433
000020  d003              BEQ      |L4.42|
000022  2c03              CMP      r4,#3                 ;433
000024  d001              BEQ      |L4.42|
000026  2c01              CMP      r4,#1                 ;433
000028  d1f4              BNE      |L4.20|
                  |L4.42|
;;;436      } 
;;;437      
;;;438      return keystate;
00002a  4620              MOV      r0,r4
;;;439    }
00002c  bd70              POP      {r4-r6,pc}
;;;440    
                          ENDP

00002e  0000              DCW      0x0000
                  |L4.48|
                          DCD      ||.data||

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

                  Demo_Init PROC
;;;76     *******************************************************************************/
;;;77     void Demo_Init(void)
000000  b570              PUSH     {r4-r6,lr}
;;;78     {
;;;79       /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/   
;;;80       /* RCC system reset(for debug purpose) */
;;;81       RCC_DeInit();
000002  f7fffffe          BL       RCC_DeInit
;;;82     
;;;83       /* Enable HSE */
;;;84       RCC_HSEConfig(RCC_HSE_ON);
000006  f44f3580          MOV      r5,#0x10000
00000a  4628              MOV      r0,r5
00000c  f7fffffe          BL       RCC_HSEConfig
;;;85     
;;;86       /* Wait till HSE is ready */
;;;87       HSEStartUpStatus = RCC_WaitForHSEStartUp();
000010  f7fffffe          BL       RCC_WaitForHSEStartUp
000014  4c2f              LDR      r4,|L5.212|
000016  7020              STRB     r0,[r4,#0]
;;;88     
;;;89       if(HSEStartUpStatus == SUCCESS)
000018  7820              LDRB     r0,[r4,#0]  ; HSEStartUpStatus
00001a  2801              CMP      r0,#1
00001c  d122              BNE      |L5.100|
;;;90       {
;;;91         /* Enable Prefetch Buffer */
;;;92         FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
00001e  2010              MOVS     r0,#0x10
000020  f7fffffe          BL       FLASH_PrefetchBufferCmd
;;;93     
;;;94         /* Flash 2 wait state */
;;;95         FLASH_SetLatency(FLASH_Latency_2);
000024  2002              MOVS     r0,#2
000026  f7fffffe          BL       FLASH_SetLatency
;;;96         
;;;97         /* HCLK = SYSCLK */
;;;98         RCC_HCLKConfig(RCC_SYSCLK_Div1); 
00002a  2000              MOVS     r0,#0
00002c  f7fffffe          BL       RCC_HCLKConfig
;;;99       
;;;100        /* PCLK2 = HCLK */
;;;101        RCC_PCLK2Config(RCC_HCLK_Div1); 
000030  2000              MOVS     r0,#0
000032  f7fffffe          BL       RCC_PCLK2Config
;;;102     
;;;103        /* PCLK1 = HCLK/2 */
;;;104        RCC_PCLK1Config(RCC_HCLK_Div2);
000036  11a8              ASRS     r0,r5,#6
000038  f7fffffe          BL       RCC_PCLK1Config
;;;105     
;;;106        /* PLLCLK = 8MHz * 9 = 72 MHz */
;;;107        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
00003c  f44f11e0          MOV      r1,#0x1c0000
000040  4628              MOV      r0,r5
000042  f7fffffe          BL       RCC_PLLConfig
;;;108     
;;;109        /* Enable PLL */ 
;;;110        RCC_PLLCmd(ENABLE);
000046  2001              MOVS     r0,#1
000048  f7fffffe          BL       RCC_PLLCmd
                  |L5.76|
;;;111     
;;;112        /* Wait till PLL is ready */
;;;113        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
00004c  2039              MOVS     r0,#0x39
00004e  f7fffffe          BL       RCC_GetFlagStatus
000052  2800              CMP      r0,#0
000054  d0fa              BEQ      |L5.76|
;;;114        {
;;;115        }
;;;116     
;;;117        /* Select PLL as system clock source */
;;;118        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000056  2002              MOVS     r0,#2
000058  f7fffffe          BL       RCC_SYSCLKConfig
                  |L5.92|
;;;119     
;;;120        /* Wait till PLL is used as system clock source */
;;;121        while(RCC_GetSYSCLKSource() != 0x08)
00005c  f7fffffe          BL       RCC_GetSYSCLKSource
000060  2808              CMP      r0,#8
000062  d1fb              BNE      |L5.92|
                  |L5.100|
;;;122        {
;;;123        }
;;;124      }
;;;125    
;;;126      /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
;;;127      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC 
000064  2101              MOVS     r1,#1
000066  f24010fd          MOV      r0,#0x1fd
00006a  f7fffffe          BL       RCC_APB2PeriphClockCmd
;;;128             | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG 

⌨️ 快捷键说明

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