?? stm32f10x_wwdg.txt
字號:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\stm32f10x_wwdg.o --depend=.\rvmdk\stm32f10x_wwdg.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\CPU\ST\STM32\src\stm32f10x_wwdg.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
WWDG_DeInit PROC
;;;63 void WWDG_DeInit(void)
;;;64 {
000000 b510 PUSH {r4,lr}
;;;65 RCC_APB1PeriphResetCmd(RCC_APB1Periph_WWDG, ENABLE);
000002 2101 MOVS r1,#1
000004 02c8 LSLS r0,r1,#11
000006 f7fff7ff BL RCC_APB1PeriphResetCmd
;;;66 RCC_APB1PeriphResetCmd(RCC_APB1Periph_WWDG, DISABLE);
00000a e8bde8bd POP {r4,lr}
00000e 2100 MOVS r1,#0
000010 f44ff44f MOV r0,#0x800
000014 f7fff7ff B.W RCC_APB1PeriphResetCmd
;;;67 }
;;;68
ENDP
WWDG_SetPrescaler PROC
;;;88 /* Clear WDGTB[8:7] bits */
;;;89 tmpreg = WWDG->CFR & CFR_WDGTB_Mask;
000018 4a12 LDR r2,|L1.100|
00001a 6811 LDR r1,[r2,#0]
00001c f421f421 BIC r1,r1,#0x180
;;;90
;;;91 /* Set WDGTB[8:7] bits according to WWDG_Prescaler value */
;;;92 tmpreg |= WWDG_Prescaler;
000020 4308 ORRS r0,r0,r1
;;;93
;;;94 /* Store the new value */
;;;95 WWDG->CFR = tmpreg;
000022 6010 STR r0,[r2,#0]
;;;96 }
000024 4770 BX lr
;;;97
ENDP
WWDG_SetWindowValue PROC
;;;114 /* Clear W[6:0] bits */
;;;115 tmpreg = WWDG->CFR & CFR_W_Mask;
000026 4a0f LDR r2,|L1.100|
000028 6811 LDR r1,[r2,#0]
00002a f021f021 BIC r1,r1,#0x7f
;;;116
;;;117 /* Set W[6:0] bits according to WindowValue value */
;;;118 tmpreg |= WindowValue & BIT_Mask;
00002e f000f000 AND r0,r0,#0x7f
000032 4308 ORRS r0,r0,r1
;;;119
;;;120 /* Store the new value */
;;;121 WWDG->CFR = tmpreg;
000034 6010 STR r0,[r2,#0]
;;;122 }
000036 4770 BX lr
;;;123
ENDP
WWDG_EnableIT PROC
;;;132 {
;;;133 *(vu32 *) CFR_EWI_BB = (u32)ENABLE;
000038 490b LDR r1,|L1.104|
00003a 2001 MOVS r0,#1
00003c 6008 STR r0,[r1,#0]
;;;134 }
00003e 4770 BX lr
;;;135
ENDP
WWDG_SetCounter PROC
;;;150 a read-modify-write; writing a 0 to WDGA bit does nothing */
;;;151 WWDG->CR = Counter & BIT_Mask;
000040 490a LDR r1,|L1.108|
000042 f000f000 AND r0,r0,#0x7f
000046 6008 STR r0,[r1,#0]
;;;152 }
000048 4770 BX lr
;;;153
ENDP
WWDG_Enable PROC
;;;167
;;;168 WWDG->CR = CR_WDGA_Set | Counter;
00004a 4908 LDR r1,|L1.108|
00004c f040f040 ORR r0,r0,#0x80
000050 6008 STR r0,[r1,#0]
;;;169 }
000052 4770 BX lr
;;;170
ENDP
WWDG_GetFlagStatus PROC
;;;179 {
;;;180 return (FlagStatus)(*(vu32 *) SR_EWIF_BB);
000054 4806 LDR r0,|L1.112|
000056 6800 LDR r0,[r0,#0]
000058 b2c0 UXTB r0,r0
;;;181 }
00005a 4770 BX lr
;;;182
ENDP
WWDG_ClearFlag PROC
;;;191 {
;;;192 WWDG->SR = (u32)RESET;
00005c 4905 LDR r1,|L1.116|
00005e 2000 MOVS r0,#0
000060 6008 STR r0,[r1,#0]
;;;193 }
000062 4770 BX lr
;;;194
ENDP
|L1.100|
000064 40002c04 DCD 0x40002c04
|L1.104|
000068 420580a4 DCD 0x420580a4
|L1.108|
00006c 40002c00 DCD 0x40002c00
|L1.112|
000070 42058100 DCD 0x42058100
|L1.116|
000074 40002c08 DCD 0x40002c08
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -