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

📄 lowpower.txt

📁 stm32.rar
💻 TXT
📖 第 1 页 / 共 3 页
字号:
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

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

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

                  EnterSTANDBYMode_WAKEUP PROC
;;;302    void EnterSTANDBYMode_WAKEUP(void)
;;;303    {
000000  b510              PUSH     {r4,lr}
;;;304      LCD_Clear(White);
000002  f64f74ff          MOV      r4,#0xffff
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       LCD_Clear
;;;305      /* Set the LCD Back Color */
;;;306      LCD_SetBackColor(Blue);
00000c  201f              MOVS     r0,#0x1f
00000e  f7fffffe          BL       LCD_SetBackColor
;;;307    
;;;308      /* Set the LCD Text Color */
;;;309      LCD_SetTextColor(White);
000012  4620              MOV      r0,r4
000014  f7fffffe          BL       LCD_SetTextColor
;;;310    
;;;311      LCD_DisplayStringLine(Line7, " MCU in STANDBY Mode"); 
000018  a105              ADR      r1,|L7.48|
00001a  20a8              MOVS     r0,#0xa8
00001c  f7fffffe          BL       LCD_DisplayStringLine
;;;312      LCD_DisplayStringLine(Line8, "To exit press Wakeup");
000020  a109              ADR      r1,|L7.72|
000022  20c0              MOVS     r0,#0xc0
000024  f7fffffe          BL       LCD_DisplayStringLine
;;;313    
;;;314      /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */
;;;315      PWR_EnterSTANDBYMode();
000028  e8bd4010          POP      {r4,lr}
00002c  f7ffbffe          B.W      PWR_EnterSTANDBYMode
;;;316    }
;;;317    
                          ENDP

                  |L7.48|
000030  204d435520696e205354414e444259204d6f646500        DCB      " MCU in STANDBY Mode",0
000045  00                DCB      0
000046  00                DCB      0
000047  00                DCB      0
                  |L7.72|
000048  546f20657869742070726573732057616b65757000        DCB      "To exit press Wakeup",0
00005d  00                DCB      0
00005e  00                DCB      0
00005f  00                DCB      0

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

                  EnterSTANDBYMode_RTCAlarm PROC
;;;326    void EnterSTANDBYMode_RTCAlarm(void)
;;;327    {
000000  b510              PUSH     {r4,lr}
;;;328      u32 tmp = 0;
;;;329    
;;;330      LCD_Clear(White);
000002  f64f74ff          MOV      r4,#0xffff
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       LCD_Clear
;;;331      /* Set the LCD Back Color */
;;;332      LCD_SetBackColor(Blue);
00000c  201f              MOVS     r0,#0x1f
00000e  f7fffffe          BL       LCD_SetBackColor
;;;333    
;;;334      /* Set the LCD Text Color */
;;;335      LCD_SetTextColor(White);
000012  4620              MOV      r0,r4
000014  f7fffffe          BL       LCD_SetTextColor
;;;336    
;;;337      /* Disable the JoyStick interrupts */
;;;338      IntExtOnOffConfig(DISABLE);
000018  2000              MOVS     r0,#0
00001a  f7fffffe          BL       IntExtOnOffConfig
;;;339      while(ReadKey() != NOKEY)
00001e  bf00              NOP      
                  |L8.32|
000020  f7fffffe          BL       ReadKey
000024  2800              CMP      r0,#0
000026  d1fb              BNE      |L8.32|
;;;340      {
;;;341      }
;;;342    
;;;343      if(BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5)
000028  2004              MOVS     r0,#4
00002a  f7fffffe          BL       BKP_ReadBackupRegister
00002e  f5a04125          SUB      r1,r0,#0xa500
000032  39a5              SUBS     r1,r1,#0xa5
000034  d02e              BEQ      |L8.148|
;;;344      {
;;;345        LCD_DisplayStringLine(Line1, "Time and Date are   ");
000036  a124              ADR      r1,|L8.200|
000038  2018              MOVS     r0,#0x18
00003a  f7fffffe          BL       LCD_DisplayStringLine
;;;346        LCD_DisplayStringLine(Line2, "not configured,     ");
00003e  a128              ADR      r1,|L8.224|
000040  2030              MOVS     r0,#0x30
000042  f7fffffe          BL       LCD_DisplayStringLine
;;;347        LCD_DisplayStringLine(Line3, "please go to the    ");
000046  a12c              ADR      r1,|L8.248|
000048  2048              MOVS     r0,#0x48
00004a  f7fffffe          BL       LCD_DisplayStringLine
;;;348        LCD_DisplayStringLine(Line4, "calendar menu and   ");
00004e  a130              ADR      r1,|L8.272|
000050  2060              MOVS     r0,#0x60
000052  f7fffffe          BL       LCD_DisplayStringLine
;;;349        LCD_DisplayStringLine(Line5, "set the time and    ");
000056  a134              ADR      r1,|L8.296|
000058  2078              MOVS     r0,#0x78
00005a  f7fffffe          BL       LCD_DisplayStringLine
;;;350        LCD_DisplayStringLine(Line6, "date parameters.    ");
00005e  a138              ADR      r1,|L8.320|
000060  2090              MOVS     r0,#0x90
000062  f7fffffe          BL       LCD_DisplayStringLine
;;;351        LCD_DisplayStringLine(Line7, "Press JoyStick to   ");
000066  a13c              ADR      r1,|L8.344|
000068  20a8              MOVS     r0,#0xa8
00006a  f7fffffe          BL       LCD_DisplayStringLine
;;;352        LCD_DisplayStringLine(Line8, "continue...         ");
00006e  a140              ADR      r1,|L8.368|
000070  20c0              MOVS     r0,#0xc0
000072  f7fffffe          BL       LCD_DisplayStringLine
;;;353        while(ReadKey() == NOKEY)
000076  bf00              NOP      
                  |L8.120|
000078  f7fffffe          BL       ReadKey
00007c  2800              CMP      r0,#0
00007e  d0fb              BEQ      |L8.120|
;;;354        {
;;;355        }
;;;356        /* Clear the LCD */
;;;357        LCD_Clear(White);
000080  4620              MOV      r0,r4
000082  f7fffffe          BL       LCD_Clear
;;;358        /* Display the previous menu */
;;;359        DisplayMenu();
000086  f7fffffe          BL       DisplayMenu
;;;360        /* Enable the JoyStick interrupts */
;;;361        IntExtOnOffConfig(ENABLE);
00008a  e8bd4010          POP      {r4,lr}
00008e  2001              MOVS     r0,#1
000090  f7ffbffe          B.W      IntExtOnOffConfig
                  |L8.148|
;;;362        return;
;;;363      }
;;;364      
;;;365      tmp = RTC_GetCounter();
000094  f7fffffe          BL       RTC_GetCounter
000098  4604              MOV      r4,r0
;;;366    
;;;367      /* Save the Alarm value in the Backup register */
;;;368      BKP_WriteBackupRegister(BKP_DR6, (tmp & 0x0000FFFF));
00009a  b281              UXTH     r1,r0
00009c  2018              MOVS     r0,#0x18
00009e  f7fffffe          BL       BKP_WriteBackupRegister
;;;369      BKP_WriteBackupRegister(BKP_DR7, (tmp >> 16));
0000a2  0c21              LSRS     r1,r4,#16
0000a4  201c              MOVS     r0,#0x1c
0000a6  f7fffffe          BL       BKP_WriteBackupRegister
;;;370    
;;;371      Alarm_PreAdjust();
0000aa  f7fffffe          BL       Alarm_PreAdjust
;;;372    
;;;373      LCD_DisplayStringLine(Line7, " MCU in STANDBY Mode");
0000ae  a136              ADR      r1,|L8.392|
0000b0  20a8              MOVS     r0,#0xa8
0000b2  f7fffffe          BL       LCD_DisplayStringLine
;;;374      LCD_DisplayStringLine(Line8, " Wait For RTC Alarm ");
0000b6  a13a              ADR      r1,|L8.416|
0000b8  20c0              MOVS     r0,#0xc0
0000ba  f7fffffe          BL       LCD_DisplayStringLine
;;;375    
;;;376      /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */
;;;377      PWR_EnterSTANDBYMode();
0000be  e8bd4010          POP      {r4,lr}
0000c2  f7ffbffe          B.W      PWR_EnterSTANDBYMode
;;;378    }
;;;379    
                          ENDP

0000c6  0000              DCW      0x0000
                  |L8.200|
0000c8  54696d6520616e6420446174652061726520202000        DCB      "Time and Date are   ",0
0000dd  00                DCB      0
0000de  00                DCB      0
0000df  00                DCB      0
                  |L8.224|
0000e0  6e6f7420636f6e666967757265642c202020202000        DCB      "not configured,     ",0
0000f5  00                DCB      0
0000f6  00                DCB      0
0000f7  00                DCB      0
                  |L8.248|
0000f8  706c6561736520676f20746f207468652020202000        DCB      "please go to the    ",0
00010d  00                DCB      0
00010e  00                DCB      0
00010f  00                DCB      0
                  |L8.272|
000110  63616c656e646172206d656e7520616e6420202000        DCB      "calendar menu and   ",0
000125  00                DCB      0
000126  00                DCB      0
000127  00                DCB      0
                  |L8.296|
000128  736574207468652074696d6520616e642020202000        DCB      "set the time and    ",0
00013d  00                DCB      0
00013e  00                DCB      0
00013f  00                DCB      0
                  |L8.320|
000140  6461746520706172616d65746572732e2020202000        DCB      "date parameters.    ",0
000155  00                DCB      0
000156  00                DCB      0
000157  00                DCB      0
                  |L8.344|
000158  5072657373204a6f79537469636b20746f20202000        DCB      "Press JoyStick to   ",0
00016d  00                DCB      0
00016e  00                DCB      0
00016f  00                DCB      0
                  |L8.368|
000170  636f6e74696e75652e2e2e20202020202020202000        DCB      "continue...         ",0
000185  00                DCB      0
000186  00                DCB      0
000187  00                DCB      0
                  |L8.392|
000188  204d435520696e205354414e444259204d6f646500        DCB      " MCU in STANDBY Mode",0
00019d  00                DCB      0
00019e  00                DCB      0
00019f  00                DCB      0
                  |L8.416|
0001a0  205761697420466f722052544320416c61726d2000        DCB      " Wait For RTC Alarm ",0
0001b5  00                DCB      0
0001b6  00                DCB      0
0001b7  00                DCB      0

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

                  Set_STOPModeStatus PROC
;;;388    {
;;;389      STOPModeStatus = 1;
000000  4901              LDR      r1,|L9.8|
000002  2001              MOVS     r0,#1
000004  6008              STR      r0,[r1,#0]  ; STOPModeStatus
;;;390    }
000006  4770              BX       lr
;;;391    
                          ENDP

                  |L9.8|
000008  00000000          DCD      ||.data||

                          AREA ||.data||, DATA, ALIGN=2

                  STOPModeStatus
000000  00000000          DCD      0x00000000
                  GPIOA_CRL
000004  00000000          DCD      0x00000000
                  GPIOA_CRH
000008  00000000          DCD      0x00000000
                  GPIOB_CRL
00000c  00000000          DCD      0x00000000
                  GPIOB_CRH
000010  00000000          DCD      0x00000000
                  GPIOC_CRL
000014  00000000          DCD      0x00000000
                  GPIOC_CRH
000018  00000000          DCD      0x00000000
                  GPIOD_CRL
00001c  00000000          DCD      0x00000000
                  GPIOD_CRH
000020  00000000          DCD      0x00000000
                  GPIOE_CRL
000024  00000000          DCD      0x00000000
                  GPIOE_CRH
000028  00000000          DCD      0x00000000
                  GPIOF_CRL
00002c  00000000          DCD      0x00000000
                  GPIOF_CRH
000030  00000000          DCD      0x00000000
                  GPIOG_CRL
000034  00000000          DCD      0x00000000
                  GPIOG_CRH
000038  00000000          DCD      0x00000000

⌨️ 快捷键说明

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