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

📄 lowpower.txt

📁 STM32外部SRAM用作datamemery的程序 开发环境MDK
💻 TXT
📖 第 1 页 / 共 4 页
字号:
;;;312      LCD_DisplayStringLine(Line8, "To exit press Wakeup");
000020  a109              ADR      r1,|L7.72|
000022  20c0              MOVS     r0,#0xc0
000024  f7fff7ff          BL       LCD_DisplayStringLine
;;;313    
;;;314      /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */
;;;315      PWR_EnterSTANDBYMode();
000028  e8bde8bd          POP      {r4,lr}
00002c  f7fff7ff          B.W      PWR_EnterSTANDBYMode
;;;316    }
;;;317    
                          ENDP

                  |L7.48|
000030  204d4355          DCB      " MCU"
000034  20696e20          DCB      " in "
000038  5354414e          DCB      "STAN"
00003c  44425920          DCB      "DBY "
000040  4d6f6465          DCB      "Mode"
000044  00000000          DCB      "\0\0\0\0"
                  |L7.72|
000048  546f2065          DCB      "To e"
00004c  78697420          DCB      "xit "
000050  70726573          DCB      "pres"
000054  73205761          DCB      "s Wa"
000058  6b657570          DCB      "keup"
00005c  00000000          DCB      "\0\0\0\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  f64ff64f          MOV      r4,#0xffff
000006  4620              MOV      r0,r4
000008  f7fff7ff          BL       LCD_Clear
;;;331      /* Set the LCD Back Color */
;;;332      LCD_SetBackColor(Blue);
00000c  201f              MOVS     r0,#0x1f
00000e  f7fff7ff          BL       LCD_SetBackColor
;;;333    
;;;334      /* Set the LCD Text Color */
;;;335      LCD_SetTextColor(White);
000012  4620              MOV      r0,r4
000014  f7fff7ff          BL       LCD_SetTextColor
;;;336    
;;;337      /* Disable the JoyStick interrupts */
;;;338      IntExtOnOffConfig(DISABLE);
000018  2000              MOVS     r0,#0
00001a  f7fff7ff          BL       IntExtOnOffConfig
;;;339      while(ReadKey() != NOKEY)
00001e  bf00              NOP      
                  |L8.32|
000020  f7fff7ff          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  f7fff7ff          BL       BKP_ReadBackupRegister
00002e  f5a0f5a0          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  f7fff7ff          BL       LCD_DisplayStringLine
;;;346        LCD_DisplayStringLine(Line2, "not configured,     ");
00003e  a128              ADR      r1,|L8.224|
000040  2030              MOVS     r0,#0x30
000042  f7fff7ff          BL       LCD_DisplayStringLine
;;;347        LCD_DisplayStringLine(Line3, "please go to the    ");
000046  a12c              ADR      r1,|L8.248|
000048  2048              MOVS     r0,#0x48
00004a  f7fff7ff          BL       LCD_DisplayStringLine
;;;348        LCD_DisplayStringLine(Line4, "calendar menu and   ");
00004e  a130              ADR      r1,|L8.272|
000050  2060              MOVS     r0,#0x60
000052  f7fff7ff          BL       LCD_DisplayStringLine
;;;349        LCD_DisplayStringLine(Line5, "set the time and    ");
000056  a134              ADR      r1,|L8.296|
000058  2078              MOVS     r0,#0x78
00005a  f7fff7ff          BL       LCD_DisplayStringLine
;;;350        LCD_DisplayStringLine(Line6, "date parameters.    ");
00005e  a138              ADR      r1,|L8.320|
000060  2090              MOVS     r0,#0x90
000062  f7fff7ff          BL       LCD_DisplayStringLine
;;;351        LCD_DisplayStringLine(Line7, "Press JoyStick to   ");
000066  a13c              ADR      r1,|L8.344|
000068  20a8              MOVS     r0,#0xa8
00006a  f7fff7ff          BL       LCD_DisplayStringLine
;;;352        LCD_DisplayStringLine(Line8, "continue...         ");
00006e  a140              ADR      r1,|L8.368|
000070  20c0              MOVS     r0,#0xc0
000072  f7fff7ff          BL       LCD_DisplayStringLine
;;;353        while(ReadKey() == NOKEY)
000076  bf00              NOP      
                  |L8.120|
000078  f7fff7ff          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  f7fff7ff          BL       LCD_Clear
;;;358        /* Display the previous menu */
;;;359        DisplayMenu();
000086  f7fff7ff          BL       DisplayMenu
;;;360        /* Enable the JoyStick interrupts */
;;;361        IntExtOnOffConfig(ENABLE);
00008a  e8bde8bd          POP      {r4,lr}
00008e  2001              MOVS     r0,#1
000090  f7fff7ff          B.W      IntExtOnOffConfig
                  |L8.148|
;;;362        return;
;;;363      }
;;;364      
;;;365      tmp = RTC_GetCounter();
000094  f7fff7ff          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  f7fff7ff          BL       BKP_WriteBackupRegister
;;;369      BKP_WriteBackupRegister(BKP_DR7, (tmp >> 16));
0000a2  0c21              LSRS     r1,r4,#16
0000a4  201c              MOVS     r0,#0x1c
0000a6  f7fff7ff          BL       BKP_WriteBackupRegister
;;;370    
;;;371      Alarm_PreAdjust();
0000aa  f7fff7ff          BL       Alarm_PreAdjust
;;;372    
;;;373      LCD_DisplayStringLine(Line7, " MCU in STANDBY Mode");
0000ae  a136              ADR      r1,|L8.392|
0000b0  20a8              MOVS     r0,#0xa8
0000b2  f7fff7ff          BL       LCD_DisplayStringLine
;;;374      LCD_DisplayStringLine(Line8, " Wait For RTC Alarm ");
0000b6  a13a              ADR      r1,|L8.416|
0000b8  20c0              MOVS     r0,#0xc0
0000ba  f7fff7ff          BL       LCD_DisplayStringLine
;;;375    
;;;376      /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */
;;;377      PWR_EnterSTANDBYMode();
0000be  e8bde8bd          POP      {r4,lr}
0000c2  f7fff7ff          B.W      PWR_EnterSTANDBYMode
;;;378    }
;;;379    
                          ENDP

0000c6  0000              DCW      0x0000
                  |L8.200|
0000c8  54696d65          DCB      "Time"
0000cc  20616e64          DCB      " and"
0000d0  20446174          DCB      " Dat"
0000d4  65206172          DCB      "e ar"
0000d8  65202020          DCB      "e   "
0000dc  00000000          DCB      "\0\0\0\0"
                  |L8.224|
0000e0  6e6f7420          DCB      "not "
0000e4  636f6e66          DCB      "conf"
0000e8  69677572          DCB      "igur"
0000ec  65642c20          DCB      "ed, "
0000f0  20202020          DCB      "    "
0000f4  00000000          DCB      "\0\0\0\0"
                  |L8.248|
0000f8  706c6561          DCB      "plea"
0000fc  73652067          DCB      "se g"
000100  6f20746f          DCB      "o to"
000104  20746865          DCB      " the"
000108  20202020          DCB      "    "
00010c  00000000          DCB      "\0\0\0\0"
                  |L8.272|
000110  63616c65          DCB      "cale"
000114  6e646172          DCB      "ndar"
000118  206d656e          DCB      " men"
00011c  7520616e          DCB      "u an"
000120  64202020          DCB      "d   "
000124  00000000          DCB      "\0\0\0\0"
                  |L8.296|
000128  73657420          DCB      "set "
00012c  74686520          DCB      "the "
000130  74696d65          DCB      "time"
000134  20616e64          DCB      " and"
000138  20202020          DCB      "    "
00013c  00000000          DCB      "\0\0\0\0"
                  |L8.320|
000140  64617465          DCB      "date"
000144  20706172          DCB      " par"
000148  616d6574          DCB      "amet"
00014c  6572732e          DCB      "ers."
000150  20202020          DCB      "    "
000154  00000000          DCB      "\0\0\0\0"
                  |L8.344|
000158  50726573          DCB      "Pres"
00015c  73204a6f          DCB      "s Jo"
000160  79537469          DCB      "ySti"
000164  636b2074          DCB      "ck t"
000168  6f202020          DCB      "o   "
00016c  00000000          DCB      "\0\0\0\0"
                  |L8.368|
000170  636f6e74          DCB      "cont"
000174  696e7565          DCB      "inue"
000178  2e2e2e20          DCB      "... "
00017c  20202020          DCB      "    "
000180  20202020          DCB      "    "
000184  00000000          DCB      "\0\0\0\0"
                  |L8.392|
000188  204d4355          DCB      " MCU"
00018c  20696e20          DCB      " in "
000190  5354414e          DCB      "STAN"
000194  44425920          DCB      "DBY "
000198  4d6f6465          DCB      "Mode"
00019c  00000000          DCB      "\0\0\0\0"
                  |L8.416|
0001a0  20576169          DCB      " Wai"
0001a4  7420466f          DCB      "t Fo"
0001a8  72205254          DCB      "r RT"
0001ac  4320416c          DCB      "C Al"
0001b0  61726d20          DCB      "arm "
0001b4  00000000          DCB      "\0\0\0\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 + -