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

📄 lowpower.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
00002a  f7fffffe          BL       BKP_ReadBackupRegister
00002e  f5a04125          SUB      r1,r0,#0xa500
000032  39a5              SUBS     r1,r1,#0xa5
000034  d025              BEQ      |L4.130|
;;;233      {
;;;234        LCD_DisplayStringLine(Line1, "Time and Date are   ");
000036  a133              ADR      r1,|L4.260|
000038  2018              MOVS     r0,#0x18
00003a  f7fffffe          BL       LCD_DisplayStringLine
;;;235        LCD_DisplayStringLine(Line2, "not configured,     ");
00003e  a137              ADR      r1,|L4.284|
000040  2030              MOVS     r0,#0x30
000042  f7fffffe          BL       LCD_DisplayStringLine
;;;236        LCD_DisplayStringLine(Line3, "please go to the    ");
000046  a13b              ADR      r1,|L4.308|
000048  2048              MOVS     r0,#0x48
00004a  f7fffffe          BL       LCD_DisplayStringLine
;;;237        LCD_DisplayStringLine(Line4, "calendar menu and   ");
00004e  a13f              ADR      r1,|L4.332|
000050  2060              MOVS     r0,#0x60
000052  f7fffffe          BL       LCD_DisplayStringLine
;;;238        LCD_DisplayStringLine(Line5, "set the time and    ");
000056  a143              ADR      r1,|L4.356|
000058  2078              MOVS     r0,#0x78
00005a  f7fffffe          BL       LCD_DisplayStringLine
;;;239        LCD_DisplayStringLine(Line6, "date parameters.    ");
00005e  a147              ADR      r1,|L4.380|
000060  2090              MOVS     r0,#0x90
000062  f7fffffe          BL       LCD_DisplayStringLine
;;;240        LCD_DisplayStringLine(Line7, "Press JoyStick to   ");
000066  a14b              ADR      r1,|L4.404|
000068  20a8              MOVS     r0,#0xa8
00006a  f7fffffe          BL       LCD_DisplayStringLine
;;;241        LCD_DisplayStringLine(Line8, "continue...         ");
00006e  a14f              ADR      r1,|L4.428|
000070  20c0              MOVS     r0,#0xc0
000072  f7fffffe          BL       LCD_DisplayStringLine
;;;242        while(ReadKey() == NOKEY)
000076  bf00              NOP      
                  |L4.120|
000078  f7fffffe          BL       ReadKey
00007c  2800              CMP      r0,#0
00007e  d0fb              BEQ      |L4.120|
000080  e036              B        |L4.240|
                  |L4.130|
;;;243        {
;;;244        }
;;;245        /* Clear the LCD */
;;;246        LCD_Clear(White);
;;;247        /* Display the previous menu */
;;;248        DisplayMenu();
;;;249        /* Enable the JoyStick interrupts */
;;;250        IntExtOnOffConfig(ENABLE);
;;;251        return;
;;;252      }
;;;253      tmp = RTC_GetCounter();
000082  f7fffffe          BL       RTC_GetCounter
000086  4605              MOV      r5,r0
;;;254    
;;;255      /* Save the Alarm value in the Backup register */
;;;256      BKP_WriteBackupRegister(BKP_DR6, (tmp & 0x0000FFFF));
000088  b281              UXTH     r1,r0
00008a  2018              MOVS     r0,#0x18
00008c  f7fffffe          BL       BKP_WriteBackupRegister
;;;257      BKP_WriteBackupRegister(BKP_DR7, (tmp >> 16));
000090  0c29              LSRS     r1,r5,#16
000092  201c              MOVS     r0,#0x1c
000094  f7fffffe          BL       BKP_WriteBackupRegister
;;;258      
;;;259      Alarm_PreAdjust();
000098  f7fffffe          BL       Alarm_PreAdjust
;;;260      LCD_ClearLine(Line8);
00009c  20c0              MOVS     r0,#0xc0
00009e  f7fffffe          BL       LCD_ClearLine
;;;261      LCD_DisplayStringLine(Line6, "  MCU in STOP Mode  "); 
0000a2  a148              ADR      r1,|L4.452|
0000a4  2090              MOVS     r0,#0x90
0000a6  f7fffffe          BL       LCD_DisplayStringLine
;;;262      LCD_DisplayStringLine(Line7, " Wait For RTC Alarm ");
0000aa  a14c              ADR      r1,|L4.476|
0000ac  20a8              MOVS     r0,#0xa8
0000ae  f7fffffe          BL       LCD_DisplayStringLine
;;;263      
;;;264      /* Save the GPIO pins current configuration then put all GPIO pins in Analog Input mode */
;;;265      GPIO_SaveConfig();
0000b2  f7fffffe          BL       GPIO_SaveConfig
;;;266      
;;;267      /* Request to enter STOP mode with regulator in low power */
;;;268      PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
0000b6  2101              MOVS     r1,#1
0000b8  4608              MOV      r0,r1
0000ba  f7fffffe          BL       PWR_EnterSTOPMode
;;;269    
;;;270      /* Restore the GPIO Configurations*/
;;;271      GPIO_RestoreConfig();
0000be  f7fffffe          BL       GPIO_RestoreConfig
;;;272      
;;;273      /* Configures system clock after wake-up from STOP: enable HSE, PLL and select PLL
;;;274         as system clock source (HSE and PLL are disabled in STOP mode) */
;;;275      SYSCLKConfig_STOP();
0000c2  f7fffffe          BL       SYSCLKConfig_STOP
;;;276    
;;;277      LCD_DisplayStringLine(Line4, "      STOP Mode     ");
0000c6  a14b              ADR      r1,|L4.500|
0000c8  2060              MOVS     r0,#0x60
0000ca  f7fffffe          BL       LCD_DisplayStringLine
;;;278      LCD_DisplayStringLine(Line5, "Wake-Up by RTC Alarm");
0000ce  a14f              ADR      r1,|L4.524|
0000d0  2078              MOVS     r0,#0x78
0000d2  f7fffffe          BL       LCD_DisplayStringLine
;;;279      LCD_DisplayStringLine(Line6, "Press JoyStick to   ");
0000d6  a12f              ADR      r1,|L4.404|
0000d8  2090              MOVS     r0,#0x90
0000da  f7fffffe          BL       LCD_DisplayStringLine
;;;280      LCD_DisplayStringLine(Line7, "continue...         ");
0000de  a133              ADR      r1,|L4.428|
0000e0  20a8              MOVS     r0,#0xa8
0000e2  f7fffffe          BL       LCD_DisplayStringLine
;;;281    
;;;282      while(ReadKey() == NOKEY)
0000e6  bf00              NOP      
                  |L4.232|
0000e8  f7fffffe          BL       ReadKey
0000ec  2800              CMP      r0,#0
0000ee  d0fb              BEQ      |L4.232|
                  |L4.240|
;;;283      {
;;;284      }
;;;285    
;;;286      /* Clear the LCD */
;;;287      LCD_Clear(White);
0000f0  4620              MOV      r0,r4
0000f2  f7fffffe          BL       LCD_Clear
;;;288      /* Display the previous menu */
;;;289      DisplayMenu();
0000f6  f7fffffe          BL       DisplayMenu
;;;290      /* Enable the JoyStick interrupts */
;;;291      IntExtOnOffConfig(ENABLE);
0000fa  e8bd4070          POP      {r4-r6,lr}
0000fe  2001              MOVS     r0,#1
000100  f7ffbffe          B.W      IntExtOnOffConfig
;;;292    }
;;;293    
                          ENDP

                  |L4.260|
000104  54696d6520616e6420446174652061726520202000        DCB      "Time and Date are   ",0
000119  00                DCB      0
00011a  00                DCB      0
00011b  00                DCB      0
                  |L4.284|
00011c  6e6f7420636f6e666967757265642c202020202000        DCB      "not configured,     ",0
000131  00                DCB      0
000132  00                DCB      0
000133  00                DCB      0
                  |L4.308|
000134  706c6561736520676f20746f207468652020202000        DCB      "please go to the    ",0
000149  00                DCB      0
00014a  00                DCB      0
00014b  00                DCB      0
                  |L4.332|
00014c  63616c656e646172206d656e7520616e6420202000        DCB      "calendar menu and   ",0
000161  00                DCB      0
000162  00                DCB      0
000163  00                DCB      0
                  |L4.356|
000164  736574207468652074696d6520616e642020202000        DCB      "set the time and    ",0
000179  00                DCB      0
00017a  00                DCB      0
00017b  00                DCB      0
                  |L4.380|
00017c  6461746520706172616d65746572732e2020202000        DCB      "date parameters.    ",0
000191  00                DCB      0
000192  00                DCB      0
000193  00                DCB      0
                  |L4.404|
000194  5072657373204a6f79537469636b20746f20202000        DCB      "Press JoyStick to   ",0
0001a9  00                DCB      0
0001aa  00                DCB      0
0001ab  00                DCB      0
                  |L4.428|
0001ac  636f6e74696e75652e2e2e20202020202020202000        DCB      "continue...         ",0
0001c1  00                DCB      0
0001c2  00                DCB      0
0001c3  00                DCB      0
                  |L4.452|
0001c4  20204d435520696e2053544f50204d6f6465202000        DCB      "  MCU in STOP Mode  ",0
0001d9  00                DCB      0
0001da  00                DCB      0
0001db  00                DCB      0
                  |L4.476|
0001dc  205761697420466f722052544320416c61726d2000        DCB      " Wait For RTC Alarm ",0
0001f1  00                DCB      0
0001f2  00                DCB      0
0001f3  00                DCB      0
                  |L4.500|
0001f4  20202020202053544f50204d6f6465202020202000        DCB      "      STOP Mode     ",0
000209  00                DCB      0
00020a  00                DCB      0
00020b  00                DCB      0
                  |L4.524|
00020c  57616b652d55702062792052544320416c61726d00        DCB      "Wake-Up by RTC Alarm",0
000221  00                DCB      0
000222  00                DCB      0
000223  00                DCB      0

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

                  GPIO_RestoreConfig PROC
;;;443    *******************************************************************************/
;;;444    static void GPIO_RestoreConfig(void)
000000  4814              LDR      r0,|L5.84|
;;;445    {  
;;;446      GPIOA->CRL = GPIOA_CRL;
000002  4915              LDR      r1,|L5.88|
000004  6842              LDR      r2,[r0,#4]  ; GPIOA_CRL
000006  600a              STR      r2,[r1,#0]
;;;447      GPIOA->CRH = GPIOA_CRH;
000008  6882              LDR      r2,[r0,#8]  ; GPIOA_CRH
00000a  604a              STR      r2,[r1,#4]
;;;448      
;;;449      GPIOB->CRL = GPIOB_CRL;
00000c  68c2              LDR      r2,[r0,#0xc]  ; GPIOB_CRL
00000e  f8c12400          STR      r2,[r1,#0x400]
;;;450      GPIOB->CRH = GPIOB_CRH;
000012  6902              LDR      r2,[r0,#0x10]  ; GPIOB_CRH
000014  f8c12404          STR      r2,[r1,#0x404]
;;;451      
;;;452      GPIOC->CRL = GPIOC_CRL;
000018  4910              LDR      r1,|L5.92|
00001a  6942              LDR      r2,[r0,#0x14]  ; GPIOC_CRL
00001c  600a              STR      r2,[r1,#0]
;;;453      GPIOC->CRH = GPIOC_CRH;
00001e  6982              LDR      r2,[r0,#0x18]  ; GPIOC_CRH
000020  604a              STR      r2,[r1,#4]
;;;454      
;;;455      GPIOD->CRL = GPIOD_CRL;
000022  69c2              LDR      r2,[r0,#0x1c]  ; GPIOD_CRL
000024  f8c12400          STR      r2,[r1,#0x400]
;;;456      GPIOD->CRH = GPIOD_CRH;
000028  6a02              LDR      r2,[r0,#0x20]  ; GPIOD_CRH
00002a  f8c12404          STR      r2,[r1,#0x404]
;;;457      
;;;458      GPIOE->CRL = GPIOE_CRL;
00002e  6a42              LDR      r2,[r0,#0x24]  ; GPIOE_CRL
000030  f8c12800          STR      r2,[r1,#0x800]
;;;459      GPIOE->CRH = GPIOE_CRH;
000034  6a82              LDR      r2,[r0,#0x28]  ; GPIOE_CRH
000036  f8c12804          STR      r2,[r1,#0x804]
;;;460    
;;;461      GPIOF->CRL = GPIOF_CRL;
00003a  6ac2              LDR      r2,[r0,#0x2c]  ; GPIOF_CRL
00003c  f8c12c00          STR      r2,[r1,#0xc00]
;;;462      GPIOF->CRH = GPIOF_CRH; 
000040  6b02              LDR      r2,[r0,#0x30]  ; GPIOF_CRH
000042  f8c12c04          STR      r2,[r1,#0xc04]
;;;463    
;;;464      GPIOG->CRL = GPIOG_CRL;
000046  4906              LDR      r1,|L5.96|
000048  6b42              LDR      r2,[r0,#0x34]  ; GPIOG_CRL
00004a  600a              STR      r2,[r1,#0]
;;;465      GPIOG->CRH = GPIOG_CRH;   
00004c  6b80              LDR      r0,[r0,#0x38]  ; GPIOG_CRH
00004e  6048              STR      r0,[r1,#4]
;;;466    }
000050  4770              BX       lr
;;;467    
                          ENDP

⌨️ 快捷键说明

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