📄 stm32f10x_rcc.txt
字号:
000004 4770 BX lr
;;;968
ENDP
000006 0000 DCW 0x0000
|L23.8|
DCD 0x40021000
AREA ||i.RCC_PCLK1Config||, CODE, READONLY, ALIGN=2
RCC_PCLK1Config PROC
;;;419 *******************************************************************************/
;;;420 void RCC_PCLK1Config(u32 RCC_HCLK)
000000 4a03 LDR r2,|L24.16|
;;;421 {
;;;422 u32 tmpreg = 0;
;;;423
;;;424 /* Check the parameters */
;;;425 assert_param(IS_RCC_PCLK(RCC_HCLK));
;;;426
;;;427 tmpreg = RCC->CFGR;
000002 6851 LDR r1,[r2,#4]
;;;428
;;;429 /* Clear PPRE1[2:0] bits */
;;;430 tmpreg &= CFGR_PPRE1_Reset_Mask;
000004 f42161e0 BIC r1,r1,#0x700
;;;431
;;;432 /* Set PPRE1[2:0] bits according to RCC_HCLK value */
;;;433 tmpreg |= RCC_HCLK;
000008 4301 ORRS r1,r1,r0
;;;434
;;;435 /* Store the new value */
;;;436 RCC->CFGR = tmpreg;
00000a 6051 STR r1,[r2,#4]
;;;437 }
00000c 4770 BX lr
;;;438
ENDP
00000e 0000 DCW 0x0000
|L24.16|
DCD 0x40021000
AREA ||i.RCC_PCLK2Config||, CODE, READONLY, ALIGN=2
RCC_PCLK2Config PROC
;;;452 *******************************************************************************/
;;;453 void RCC_PCLK2Config(u32 RCC_HCLK)
000000 4a03 LDR r2,|L25.16|
;;;454 {
;;;455 u32 tmpreg = 0;
;;;456
;;;457 /* Check the parameters */
;;;458 assert_param(IS_RCC_PCLK(RCC_HCLK));
;;;459
;;;460 tmpreg = RCC->CFGR;
000002 6851 LDR r1,[r2,#4]
;;;461
;;;462 /* Clear PPRE2[2:0] bits */
;;;463 tmpreg &= CFGR_PPRE2_Reset_Mask;
000004 f4215160 BIC r1,r1,#0x3800
;;;464
;;;465 /* Set PPRE2[2:0] bits according to RCC_HCLK value */
;;;466 tmpreg |= RCC_HCLK << 3;
000008 ea4100c0 ORR r0,r1,r0,LSL #3
;;;467
;;;468 /* Store the new value */
;;;469 RCC->CFGR = tmpreg;
00000c 6050 STR r0,[r2,#4]
;;;470 }
00000e 4770 BX lr
;;;471
ENDP
|L25.16|
DCD 0x40021000
AREA ||i.RCC_PLLCmd||, CODE, READONLY, ALIGN=2
RCC_PLLCmd PROC
;;;314 *******************************************************************************/
;;;315 void RCC_PLLCmd(FunctionalState NewState)
000000 4901 LDR r1,|L26.8|
;;;316 {
;;;317 /* Check the parameters */
;;;318 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;319
;;;320 *(vu32 *) CR_PLLON_BB = (u32)NewState;
000002 6608 STR r0,[r1,#0x60]
;;;321 }
000004 4770 BX lr
;;;322
ENDP
000006 0000 DCW 0x0000
|L26.8|
DCD 0x42420000
AREA ||i.RCC_PLLConfig||, CODE, READONLY, ALIGN=2
RCC_PLLConfig PROC
;;;285 *******************************************************************************/
;;;286 void RCC_PLLConfig(u32 RCC_PLLSource, u32 RCC_PLLMul)
000000 4b03 LDR r3,|L27.16|
;;;287 {
;;;288 u32 tmpreg = 0;
;;;289
;;;290 /* Check the parameters */
;;;291 assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource));
;;;292 assert_param(IS_RCC_PLL_MUL(RCC_PLLMul));
;;;293
;;;294 tmpreg = RCC->CFGR;
000002 685a LDR r2,[r3,#4]
;;;295
;;;296 /* Clear PLLSRC, PLLXTPRE and PLLMUL[3:0] bits */
;;;297 tmpreg &= CFGR_PLL_Mask;
;;;298
;;;299 /* Set the PLL configuration bits */
;;;300 tmpreg |= RCC_PLLSource | RCC_PLLMul;
000004 4308 ORRS r0,r0,r1
000006 f422127c BIC r2,r2,#0x3f0000 ;297
00000a 4310 ORRS r0,r0,r2
;;;301
;;;302 /* Store the new value */
;;;303 RCC->CFGR = tmpreg;
00000c 6058 STR r0,[r3,#4]
;;;304 }
00000e 4770 BX lr
;;;305
ENDP
|L27.16|
DCD 0x40021000
AREA ||i.RCC_RTCCLKCmd||, CODE, READONLY, ALIGN=2
RCC_RTCCLKCmd PROC
;;;650 *******************************************************************************/
;;;651 void RCC_RTCCLKCmd(FunctionalState NewState)
000000 4901 LDR r1,|L28.8|
;;;652 {
;;;653 /* Check the parameters */
;;;654 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;655
;;;656 *(vu32 *) BDCR_RTCEN_BB = (u32)NewState;
000002 6008 STR r0,[r1,#0]
;;;657 }
000004 4770 BX lr
;;;658
ENDP
000006 0000 DCW 0x0000
|L28.8|
DCD 0x4242043c
AREA ||i.RCC_RTCCLKConfig||, CODE, READONLY, ALIGN=2
RCC_RTCCLKConfig PROC
;;;631 *******************************************************************************/
;;;632 void RCC_RTCCLKConfig(u32 RCC_RTCCLKSource)
000000 4902 LDR r1,|L29.12|
;;;633 {
;;;634 /* Check the parameters */
;;;635 assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource));
;;;636
;;;637 /* Select the RTC clock source */
;;;638 RCC->BDCR |= RCC_RTCCLKSource;
000002 6a0a LDR r2,[r1,#0x20]
000004 4302 ORRS r2,r2,r0
000006 620a STR r2,[r1,#0x20]
;;;639 }
000008 4770 BX lr
;;;640
ENDP
00000a 0000 DCW 0x0000
|L29.12|
DCD 0x40021000
AREA ||i.RCC_SYSCLKConfig||, CODE, READONLY, ALIGN=2
RCC_SYSCLKConfig PROC
;;;333 *******************************************************************************/
;;;334 void RCC_SYSCLKConfig(u32 RCC_SYSCLKSource)
000000 4a03 LDR r2,|L30.16|
;;;335 {
;;;336 u32 tmpreg = 0;
;;;337
;;;338 /* Check the parameters */
;;;339 assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource));
;;;340
;;;341 tmpreg = RCC->CFGR;
000002 6851 LDR r1,[r2,#4]
;;;342
;;;343 /* Clear SW[1:0] bits */
;;;344 tmpreg &= CFGR_SW_Mask;
000004 f0210103 BIC r1,r1,#3
;;;345
;;;346 /* Set SW[1:0] bits according to RCC_SYSCLKSource value */
;;;347 tmpreg |= RCC_SYSCLKSource;
000008 4301 ORRS r1,r1,r0
;;;348
;;;349 /* Store the new value */
;;;350 RCC->CFGR = tmpreg;
00000a 6051 STR r1,[r2,#4]
;;;351 }
00000c 4770 BX lr
;;;352
ENDP
00000e 0000 DCW 0x0000
|L30.16|
DCD 0x40021000
AREA ||i.RCC_USBCLKConfig||, CODE, READONLY, ALIGN=2
RCC_USBCLKConfig PROC
;;;518 *******************************************************************************/
;;;519 void RCC_USBCLKConfig(u32 RCC_USBCLKSource)
000000 4901 LDR r1,|L31.8|
;;;520 {
;;;521 /* Check the parameters */
;;;522 assert_param(IS_RCC_USBCLK_SOURCE(RCC_USBCLKSource));
;;;523
;;;524 *(vu32 *) CFGR_USBPRE_BB = RCC_USBCLKSource;
000002 6008 STR r0,[r1,#0]
;;;525 }
000004 4770 BX lr
;;;526
ENDP
000006 0000 DCW 0x0000
|L31.8|
DCD 0x424200d8
AREA ||i.RCC_WaitForHSEStartUp||, CODE, READONLY, ALIGN=2
RCC_WaitForHSEStartUp PROC
;;;198 *******************************************************************************/
;;;199 ErrorStatus RCC_WaitForHSEStartUp(void)
000000 b530 PUSH {r4,r5,lr}
;;;200 {
;;;201 ErrorStatus status = ERROR;
;;;202
;;;203 /* Wait till HSE is ready and if Time out is reached exit */
;;;204 do
;;;205 {
;;;206 HSEStatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY);
000002 4c0b LDR r4,|L32.48|
;;;207 StartUpCounter++;
;;;208 } while((HSEStatus == RESET) && (StartUpCounter != HSEStartUp_TimeOut));
000004 f24015ff MOV r5,#0x1ff
|L32.8|
000008 2031 MOVS r0,#0x31 ;206
00000a f7fffffe BL RCC_GetFlagStatus
00000e 7020 STRB r0,[r4,#0] ;206
000010 6860 LDR r0,[r4,#4] ;207 ; StartUpCounter
000012 1c40 ADDS r0,r0,#1 ;207
000014 6060 STR r0,[r4,#4] ;207 ; StartUpCounter
000016 7820 LDRB r0,[r4,#0] ; HSEStatus
000018 b910 CBNZ r0,|L32.32|
00001a 6860 LDR r0,[r4,#4] ; StartUpCounter
00001c 42a8 CMP r0,r5
00001e d1f3 BNE |L32.8|
|L32.32|
;;;209
;;;210
;;;211 if (RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET)
000020 2031 MOVS r0,#0x31
000022 f7fffffe BL RCC_GetFlagStatus
000026 2800 CMP r0,#0
000028 d000 BEQ |L32.44|
;;;212 {
;;;213 status = SUCCESS;
00002a 2001 MOVS r0,#1
|L32.44|
;;;214 }
;;;215 else
;;;216 {
;;;217 status = ERROR;
;;;218 }
;;;219
;;;220 return (status);
;;;221 }
00002c bd30 POP {r4,r5,pc}
;;;222
ENDP
00002e 0000 DCW 0x0000
|L32.48|
DCD ||.data||
AREA ||.constdata||, DATA, READONLY, ALIGN=0
ADCPrescTable
000000 02040608 DCB 0x02,0x04,0x06,0x08
APBAHBPrescTable
000004 00000000 DCB 0x00,0x00,0x00,0x00
000008 01020304 DCB 0x01,0x02,0x03,0x04
00000c 01020304 DCB 0x01,0x02,0x03,0x04
000010 06070809 DCB 0x06,0x07,0x08,0x09
AREA ||.data||, DATA, ALIGN=2
HSEStatus
000000 00000000 DCB 0x00,0x00,0x00,0x00
StartUpCounter
DCD 0x00000000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -