📄 lowpower.txt
字号:
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 + -