📄 stm32f10x_rcc.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\stm32f10x_rcc.o --depend=.\Obj\stm32f10x_rcc.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\..\FWLib\library\src\stm32f10x_rcc.c]
THUMB
AREA ||i.RCC_ADCCLKConfig||, CODE, READONLY, ALIGN=2
RCC_ADCCLKConfig PROC
;;;539 *******************************************************************************/
;;;540 void RCC_ADCCLKConfig(u32 RCC_PCLK2)
000000 4a03 LDR r2,|L1.16|
;;;541 {
;;;542 u32 tmpreg = 0;
;;;543
;;;544 /* Check the parameters */
;;;545 assert_param(IS_RCC_ADCCLK(RCC_PCLK2));
;;;546
;;;547 tmpreg = RCC->CFGR;
000002 6851 LDR r1,[r2,#4]
;;;548
;;;549 /* Clear ADCPRE[1:0] bits */
;;;550 tmpreg &= CFGR_ADCPRE_Reset_Mask;
000004 f4214140 BIC r1,r1,#0xc000
;;;551
;;;552 /* Set ADCPRE[1:0] bits according to RCC_PCLK2 value */
;;;553 tmpreg |= RCC_PCLK2;
000008 4301 ORRS r1,r1,r0
;;;554
;;;555 /* Store the new value */
;;;556 RCC->CFGR = tmpreg;
00000a 6051 STR r1,[r2,#4]
;;;557 }
00000c 4770 BX lr
;;;558
ENDP
00000e 0000 DCW 0x0000
|L1.16|
DCD 0x40021000
AREA ||i.RCC_AHBPeriphClockCmd||, CODE, READONLY, ALIGN=2
RCC_AHBPeriphClockCmd PROC
;;;766 *******************************************************************************/
;;;767 void RCC_AHBPeriphClockCmd(u32 RCC_AHBPeriph, FunctionalState NewState)
000000 4a04 LDR r2,|L2.20|
;;;768 {
;;;769 /* Check the parameters */
;;;770 assert_param(IS_RCC_AHB_PERIPH(RCC_AHBPeriph));
;;;771 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;772
;;;773 if (NewState != DISABLE)
000002 2900 CMP r1,#0
;;;774 {
;;;775 RCC->AHBENR |= RCC_AHBPeriph;
000004 6951 LDR r1,[r2,#0x14]
000006 d001 BEQ |L2.12|
000008 4301 ORRS r1,r1,r0
00000a e000 B |L2.14|
|L2.12|
;;;776 }
;;;777 else
;;;778 {
;;;779 RCC->AHBENR &= ~RCC_AHBPeriph;
00000c 4381 BICS r1,r1,r0
|L2.14|
00000e 6151 STR r1,[r2,#0x14] ;775
;;;780 }
;;;781 }
000010 4770 BX lr
;;;782
ENDP
000012 0000 DCW 0x0000
|L2.20|
DCD 0x40021000
AREA ||i.RCC_APB1PeriphClockCmd||, CODE, READONLY, ALIGN=2
RCC_APB1PeriphClockCmd PROC
;;;833 *******************************************************************************/
;;;834 void RCC_APB1PeriphClockCmd(u32 RCC_APB1Periph, FunctionalState NewState)
000000 4a04 LDR r2,|L3.20|
;;;835 {
;;;836 /* Check the parameters */
;;;837 assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph));
;;;838 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;839
;;;840 if (NewState != DISABLE)
000002 2900 CMP r1,#0
;;;841 {
;;;842 RCC->APB1ENR |= RCC_APB1Periph;
000004 69d1 LDR r1,[r2,#0x1c]
000006 d001 BEQ |L3.12|
000008 4301 ORRS r1,r1,r0
00000a e000 B |L3.14|
|L3.12|
;;;843 }
;;;844 else
;;;845 {
;;;846 RCC->APB1ENR &= ~RCC_APB1Periph;
00000c 4381 BICS r1,r1,r0
|L3.14|
00000e 61d1 STR r1,[r2,#0x1c] ;842
;;;847 }
;;;848 }
000010 4770 BX lr
;;;849
ENDP
000012 0000 DCW 0x0000
|L3.20|
DCD 0x40021000
AREA ||i.RCC_APB1PeriphResetCmd||, CODE, READONLY, ALIGN=2
RCC_APB1PeriphResetCmd PROC
;;;898 *******************************************************************************/
;;;899 void RCC_APB1PeriphResetCmd(u32 RCC_APB1Periph, FunctionalState NewState)
000000 4a04 LDR r2,|L4.20|
;;;900 {
;;;901 /* Check the parameters */
;;;902 assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph));
;;;903 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;904
;;;905 if (NewState != DISABLE)
000002 2900 CMP r1,#0
;;;906 {
;;;907 RCC->APB1RSTR |= RCC_APB1Periph;
000004 6911 LDR r1,[r2,#0x10]
000006 d001 BEQ |L4.12|
000008 4301 ORRS r1,r1,r0
00000a e000 B |L4.14|
|L4.12|
;;;908 }
;;;909 else
;;;910 {
;;;911 RCC->APB1RSTR &= ~RCC_APB1Periph;
00000c 4381 BICS r1,r1,r0
|L4.14|
00000e 6111 STR r1,[r2,#0x10] ;907
;;;912 }
;;;913 }
000010 4770 BX lr
;;;914
ENDP
000012 0000 DCW 0x0000
|L4.20|
DCD 0x40021000
AREA ||i.RCC_APB2PeriphClockCmd||, CODE, READONLY, ALIGN=2
RCC_APB2PeriphClockCmd PROC
;;;799 *******************************************************************************/
;;;800 void RCC_APB2PeriphClockCmd(u32 RCC_APB2Periph, FunctionalState NewState)
000000 4a04 LDR r2,|L5.20|
;;;801 {
;;;802 /* Check the parameters */
;;;803 assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
;;;804 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;805
;;;806 if (NewState != DISABLE)
000002 2900 CMP r1,#0
;;;807 {
;;;808 RCC->APB2ENR |= RCC_APB2Periph;
000004 6991 LDR r1,[r2,#0x18]
000006 d001 BEQ |L5.12|
000008 4301 ORRS r1,r1,r0
00000a e000 B |L5.14|
|L5.12|
;;;809 }
;;;810 else
;;;811 {
;;;812 RCC->APB2ENR &= ~RCC_APB2Periph;
00000c 4381 BICS r1,r1,r0
|L5.14|
00000e 6191 STR r1,[r2,#0x18] ;808
;;;813 }
;;;814 }
000010 4770 BX lr
;;;815
ENDP
000012 0000 DCW 0x0000
|L5.20|
DCD 0x40021000
AREA ||i.RCC_APB2PeriphResetCmd||, CODE, READONLY, ALIGN=2
RCC_APB2PeriphResetCmd PROC
;;;865 *******************************************************************************/
;;;866 void RCC_APB2PeriphResetCmd(u32 RCC_APB2Periph, FunctionalState NewState)
000000 4a04 LDR r2,|L6.20|
;;;867 {
;;;868 /* Check the parameters */
;;;869 assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
;;;870 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;871
;;;872 if (NewState != DISABLE)
000002 2900 CMP r1,#0
;;;873 {
;;;874 RCC->APB2RSTR |= RCC_APB2Periph;
000004 68d1 LDR r1,[r2,#0xc]
000006 d001 BEQ |L6.12|
000008 4301 ORRS r1,r1,r0
00000a e000 B |L6.14|
|L6.12|
;;;875 }
;;;876 else
;;;877 {
;;;878 RCC->APB2RSTR &= ~RCC_APB2Periph;
00000c 4381 BICS r1,r1,r0
|L6.14|
00000e 60d1 STR r1,[r2,#0xc] ;874
;;;879 }
;;;880 }
000010 4770 BX lr
;;;881
ENDP
000012 0000 DCW 0x0000
|L6.20|
DCD 0x40021000
AREA ||i.RCC_AdjustHSICalibrationValue||, CODE, READONLY, ALIGN=2
RCC_AdjustHSICalibrationValue PROC
;;;231 *******************************************************************************/
;;;232 void RCC_AdjustHSICalibrationValue(u8 HSICalibrationValue)
000000 4a03 LDR r2,|L7.16|
;;;233 {
;;;234 u32 tmpreg = 0;
;;;235
;;;236 /* Check the parameters */
;;;237 assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue));
;;;238
;;;239 tmpreg = RCC->CR;
000002 6811 LDR r1,[r2,#0]
;;;240
;;;241 /* Clear HSITRIM[4:0] bits */
;;;242 tmpreg &= CR_HSITRIM_Mask;
000004 f02101f8 BIC r1,r1,#0xf8
;;;243
;;;244 /* Set the HSITRIM[4:0] bits according to HSICalibrationValue value */
;;;245 tmpreg |= (u32)HSICalibrationValue << 3;
000008 ea4100c0 ORR r0,r1,r0,LSL #3
;;;246
;;;247 /* Store the new value */
;;;248 RCC->CR = tmpreg;
00000c 6010 STR r0,[r2,#0]
;;;249 }
00000e 4770 BX lr
;;;250
ENDP
|L7.16|
DCD 0x40021000
AREA ||i.RCC_BackupResetCmd||, CODE, READONLY, ALIGN=2
RCC_BackupResetCmd PROC
;;;922 *******************************************************************************/
;;;923 void RCC_BackupResetCmd(FunctionalState NewState)
000000 4901 LDR r1,|L8.8|
;;;924 {
;;;925 /* Check the parameters */
;;;926 assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;927
;;;928 *(vu32 *) BDCR_BDRST_BB = (u32)NewState;
000002 6008 STR r0,[r1,#0]
;;;929 }
000004 4770 BX lr
;;;930
ENDP
000006 0000 DCW 0x0000
|L8.8|
DCD 0x42420440
AREA ||i.RCC_ClearFlag||, CODE, READONLY, ALIGN=2
RCC_ClearFlag PROC
;;;1038 *******************************************************************************/
;;;1039 void RCC_ClearFlag(void)
000000 4802 LDR r0,|L9.12|
;;;1040 {
;;;1041 /* Set RMVF bit to clear the reset flags */
;;;1042 RCC->CSR |= CSR_RMVF_Set;
000002 6a41 LDR r1,[r0,#0x24]
000004 f0417180 ORR r1,r1,#0x1000000
000008 6241 STR r1,[r0,#0x24]
;;;1043 }
00000a 4770 BX lr
;;;1044
ENDP
|L9.12|
DCD 0x40021000
AREA ||i.RCC_ClearITPendingBit||, CODE, READONLY, ALIGN=2
RCC_ClearITPendingBit PROC
;;;1093 *******************************************************************************/
;;;1094 void RCC_ClearITPendingBit(u8 RCC_IT)
000000 4901 LDR r1,|L10.8|
;;;1095 {
;;;1096 /* Check the parameters */
;;;1097 assert_param(IS_RCC_CLEAR_IT(RCC_IT));
;;;1098
;;;1099 /* Perform Byte access to RCC_CIR[23:16] bits to clear the selected interrupt
;;;1100 pending bits */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -