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

📄 main.txt

📁 STM32外部SRAM用作datamemery的程序 开发环境MDK
💻 TXT
📖 第 1 页 / 共 4 页
字号:
;;;161      printf(" start to display______");
000096  a016              ADR      r0,|L6.240|
000098  f7fff7ff          BL       __1printf
;;;162      /* Initialize the LCD */
;;;163      STM3210E_LCD_Init();
00009c  f7fff7ff          BL       STM3210E_LCD_Init
;;;164    
;;;165      /* Clear the LCD */ 
;;;166     // LCD_Clear(Red);
;;;167      
;;;168      /* If HSE is not detected at program startup */
;;;169      if(HSEStartUpStatus == ERROR)
0000a0  7820              LDRB     r0,[r4,#0]  ; HSEStartUpStatus
0000a2  b910              CBNZ     r0,|L6.170|
;;;170      {
;;;171        /* Generate NMI exception */
;;;172        NVIC_SetSystemHandlerPendingBit(SystemHandler_NMI);
0000a4  201f              MOVS     r0,#0x1f
0000a6  f7fff7ff          BL       NVIC_SetSystemHandlerPendingBit
                  |L6.170|
;;;173      }  
;;;174       
;;;175      /* Checks the availability of the bitmap files */
;;;176     // CheckBitmapFilesStatus();
;;;177    //  	LCD_DrawChar(100,(uc16)100,(uc16)ASCII_Table[1]);
;;;178    LCD_DisplayStringLine(2,"12345");
0000aa  a117              ADR      r1,|L6.264|
0000ac  2002              MOVS     r0,#2
0000ae  f7fff7ff          BL       LCD_DisplayStringLine
;;;179    //LCD_DisplayHZ(16,5,1);
;;;180    //LCD_Clear(White);
;;;181    LCD_DisplayHanziLine(Line2,"012");
0000b2  a117              ADR      r1,|L6.272|
0000b4  2030              MOVS     r0,#0x30
0000b6  f7fff7ff          BL       LCD_DisplayHanziLine
;;;182    LCD_DrawCircle(100,100,50);
0000ba  2164              MOVS     r1,#0x64
0000bc  2232              MOVS     r2,#0x32
0000be  4608              MOV      r0,r1
0000c0  f7fff7ff          BL       LCD_DrawCircle
;;;183     //LCD_SetBackColor(Red);
;;;184     //LCD_DrawPIC_xXx(Line2,23,40,40,0);
;;;185     for(i=0;i<999999;i++)
0000c4  4a13              LDR      r2,|L6.276|
0000c6  2100              MOVS     r1,#0
                  |L6.200|
;;;186       for(j=0;j<10;j++);
0000c8  2000              MOVS     r0,#0
                  |L6.202|
0000ca  1c40              ADDS     r0,r0,#1
0000cc  280a              CMP      r0,#0xa
0000ce  d3fc              BCC      |L6.202|
0000d0  1c49              ADDS     r1,r1,#1              ;185
0000d2  4291              CMP      r1,r2                 ;185
0000d4  d3f8              BCC      |L6.200|
;;;187    //   LCD_DrawPIC_xXx__VorH(Line0,0,240,320,flower,DISP_240X320);
;;;188     
;;;189    // LCD_Clear(White);
;;;190    
;;;191    LCD_DrawLine(Line7,319,200,0x00);
0000d6  e8bde8bd          POP      {r4-r6,lr}
0000da  2300              MOVS     r3,#0
0000dc  22c8              MOVS     r2,#0xc8
0000de  f240f240          MOV      r1,#0x13f
0000e2  20a8              MOVS     r0,#0xa8
0000e4  f7fff7ff          B.W      LCD_DrawLine
;;;192    //void LCD_DrawLine(u8 Xpos, u16 Ypos, u16 Length, u8 Direction)
;;;193      /* Display the STM32 introduction */
;;;194     // STM32Intro();
;;;195    
;;;196      /* Clear the LCD */ 
;;;197      //LCD_Clear(White);
;;;198    
;;;199      /* Initialize the Calendar */
;;;200     // Calendar_Init();
;;;201    
;;;202      /* Enable Leds toggling */
;;;203      //LedShow(ENABLE);
;;;204      
;;;205      /* Initialize the Low Power application*/ 
;;;206      //LowPower_Init();
;;;207    
;;;208      /* Set the LCD Back Color */
;;;209      //LCD_SetBackColor(Red);
;;;210    
;;;211      /* Set the LCD Text Color */
;;;212     // LCD_SetTextColor(White);
;;;213      
;;;214      /* Initialize the Menu */
;;;215     // Menu_Init();
;;;216    
;;;217      /* Display the main menu icons */
;;;218      //ShowMenuIcons();
;;;219    }
;;;220    
                          ENDP

                  |L6.232|
0000e8  00000000          DCD      ||.data||
                  |L6.236|
0000ec  40010800          DCD      0x40010800
                  |L6.240|
0000f0  20737461          DCB      " sta"
0000f4  72742074          DCB      "rt t"
0000f8  6f206469          DCB      "o di"
0000fc  73706c61          DCB      "spla"
000100  795f5f5f          DCB      "y___"
000104  5f5f5f00          DCB      "___\0"
                  |L6.264|
000108  31323334          DCB      "1234"
00010c  35000000          DCB      "5\0\0\0"
                  |L6.272|
000110  30313200          DCB      "012\0"
                  |L6.276|
000114  000f423f          DCD      0x000f423f

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

                  main PROC
;;;42     int main(void)
;;;43     {
000000  b570              PUSH     {r4-r6,lr}
;;;44     
;;;45     #ifdef DEBUG
;;;46       debug();
;;;47     #endif
;;;48     
;;;49       /* Initialize the Demo */
;;;50       Demo_Init();
000002  f7fff7ff          BL       Demo_Init
;;;51          /* Configure PD.03 as input floating */
;;;52     //  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
;;;53     //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
;;;54      // GPIO_Init(GPIOD, &GPIO_InitStructure);
;;;55      
;;;56       GPIO_ResetBits(GPIOA,GPIO_Pin_4);
000006  2110              MOVS     r1,#0x10
000008  4808              LDR      r0,|L7.44|
00000a  f7fff7ff          BL       GPIO_ResetBits
00000e  4c08              LDR      r4,|L7.48|
000010  2500              MOVS     r5,#0
                  |L7.18|
;;;57       // GPIO_SetBits(GPIOA,GPIO_Pin_4);
;;;58       while (1)
;;;59       {
;;;60         /* If SEL pushbutton is pressed */
;;;61         if(SELStatus == 1)
000012  68e0              LDR      r0,[r4,#0xc]  ; SELStatus
000014  2801              CMP      r0,#1
000016  d1fc              BNE      |L7.18|
;;;62         {
;;;63           /* External Interrupt Disable */
;;;64           IntExtOnOffConfig(DISABLE);
000018  2000              MOVS     r0,#0
00001a  f7fff7ff          BL       IntExtOnOffConfig
;;;65     
;;;66           /* Execute Sel Function */
;;;67           SelFunc();
00001e  f7fff7ff          BL       SelFunc
;;;68     
;;;69           /* External Interrupt Enable */
;;;70           IntExtOnOffConfig(ENABLE);
000022  2001              MOVS     r0,#1
000024  f7fff7ff          BL       IntExtOnOffConfig
;;;71           /* Reset SELStatus value */
;;;72           SELStatus = 0;
000028  60e5              STR      r5,[r4,#0xc]  ; SELStatus
00002a  e7f2              B        |L7.18|
;;;73         } 
;;;74       }
;;;75     }
;;;76     
                          ENDP

                  |L7.44|
00002c  40010800          DCD      0x40010800
                  |L7.48|
000030  00000000          DCD      ||.data||

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

                  Delay PROC
;;;421    void Delay(u32 nCount)
;;;422    {
000000  b510              PUSH     {r4,lr}
;;;423      TimingDelay = nCount;
000002  4c08              LDR      r4,|L8.36|
000004  6060              STR      r0,[r4,#4]  ; TimingDelay
;;;424    
;;;425      /* Enable the SysTick Counter */
;;;426      SysTick_CounterCmd(SysTick_Counter_Enable);
000006  2001              MOVS     r0,#1
000008  f7fff7ff          BL       SysTick_CounterCmd
                  |L8.12|
;;;427      
;;;428      while(TimingDelay != 0)
00000c  6860              LDR      r0,[r4,#4]  ; TimingDelay
00000e  2800              CMP      r0,#0
000010  d1fc              BNE      |L8.12|
;;;429      {
;;;430      }
;;;431    
;;;432      /* Disable the SysTick Counter */
;;;433      SysTick_CounterCmd(SysTick_Counter_Disable);
000012  1e80              SUBS     r0,r0,#2
000014  f7fff7ff          BL       SysTick_CounterCmd
;;;434    
;;;435      /* Clear the SysTick Counter */
;;;436      SysTick_CounterCmd(SysTick_Counter_Clear);
000018  e8bde8bd          POP      {r4,lr}
00001c  2000              MOVS     r0,#0
00001e  f7fff7ff          B.W      SysTick_CounterCmd
;;;437    }
;;;438    
                          ENDP

000022  0000              DCW      0x0000
                  |L8.36|
000024  00000000          DCD      ||.data||

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

                  DelayJoyStick PROC
;;;447    u32 DelayJoyStick(u32 nTime)
;;;448    {
000000  b570              PUSH     {r4-r6,lr}
000002  4606              MOV      r6,r0
;;;449      vu32 keystate = 0;
000004  2400              MOVS     r4,#0
;;;450    
;;;451      /* Enable the SysTick Counter */
;;;452      SysTick_CounterCmd(SysTick_Counter_Enable);
000006  2001              MOVS     r0,#1
000008  f7fff7ff          BL       SysTick_CounterCmd
;;;453    
;;;454      TimingDelay = nTime;
00000c  4d08              LDR      r5,|L9.48|
00000e  606e              STR      r6,[r5,#4]  ; TimingDelay
;;;455     
;;;456      while((TimingDelay != 0) && (keystate != RIGHT) && (keystate != LEFT) && (keystate != SEL))
000010  e003              B        |L9.26|
;;;457      {
;;;458        keystate = ReadKey();
000012  bf00              NOP      
                  |L9.20|
000014  f7fff7ff          BL       ReadKey
000018  4604              MOV      r4,r0
                  |L9.26|
00001a  6868              LDR      r0,[r5,#4]            ;456  ; TimingDelay
00001c  b128              CBZ      r0,|L9.42|
00001e  2c02              CMP      r4,#2                 ;456
000020  d003              BEQ      |L9.42|
000022  2c03              CMP      r4,#3                 ;456
000024  d001              BEQ      |L9.42|
000026  2c01              CMP      r4,#1                 ;456
000028  d1f4              BNE      |L9.20|
                  |L9.42|
;;;459      } 
;;;460      
;;;461      return keystate;
00002a  4620              MOV      r0,r4
;;;462    }
00002c  bd70              POP      {r4-r6,pc}
;;;463    
                          ENDP

00002e  0000              DCW      0x0000
                  |L9.48|
000030  00000000          DCD      ||.data||

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

                  Decrement_TimingDelay PROC
;;;472    {
;;;473      if (TimingDelay != 0x00)
000000  4803              LDR      r0,|L10.16|
000002  6841              LDR      r1,[r0,#4]  ; TimingDelay
000004  2900              CMP      r1,#0
000006  d002              BEQ      |L10.14|
;;;474      {
;;;475        TimingDelay--;
000008  6841              LDR      r1,[r0,#4]  ; TimingDelay
00000a  1e49              SUBS     r1,r1,#1

⌨️ 快捷键说明

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