?? stm32f10x_rtc.lst
字號(hào):
###############################################################################
# #
# IAR ANSI C/C++ Compiler V6.10.2.52244/W32 for ARM 07/Aug/2011 12:10:39 #
# Copyright 1999-2010 IAR Systems AB. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
# x_StdPeriph_Driver\src\stm32f10x_rtc.c #
# Command line = F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
# x_StdPeriph_Driver\src\stm32f10x_rtc.c -D #
# USE_STDPERIPH_DRIVER -D STM32F10X_CL -lCN #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
# t\ -o F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Fla #
# sh\Obj\ --no_cse --no_unroll --no_inline #
# --no_code_motion --no_tbaa --no_clustering #
# --no_scheduling --debug --endian=little --cpu=Cortex-M3 #
# -e --fpu=None --dlib_config #
# D:\arm\INC\c\DLib_Config_Normal.h -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\APP\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ #
# -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP #
# \ST\CMSIS\CM3\CoreSupport\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
# \CMSIS\CM3\DeviceSupport\ST\STM32F10x\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
# \STM32F10x_StdPeriph_Driver\inc\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\uC #
# OS-II\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II #
# \..\..\uCOS-II\Ports\ARM-Cortex-M3\Generic\IAR\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uCO #
# S-II\Source\ -I F:\stm32\我的程序\Micrium\Software\EWARM #
# \OS-II\..\..\uC-LIB\ -I F:\stm32\我的程序\Micrium\Softwa #
# re\EWARM\OS-II\..\..\uC-LIB\Ports\ARM-Cortex-M3\IAR\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uC- #
# CPU\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\. #
# .\..\uC-CPU\ARM-Cortex-M3\IAR\ -On --use_c++_inline #
# List file = F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
# t\stm32f10x_rtc.lst #
# Object file = F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Obj #
# \stm32f10x_rtc.o #
# #
# #
###############################################################################
F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c
1 /**
2 ******************************************************************************
3 * @file stm32f10x_rtc.c
4 * @author MCD Application Team
5 * @version V3.4.0
6 * @date 10/15/2010
7 * @brief This file provides all the RTC firmware functions.
8 ******************************************************************************
9 * @copy
10 *
11 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
12 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
13 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
14 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
15 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
16 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
17 *
18 * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>
19 */
20
21 /* Includes ------------------------------------------------------------------*/
22 #include "stm32f10x_rtc.h"
23
24 /** @addtogroup STM32F10x_StdPeriph_Driver
25 * @{
26 */
27
28 /** @defgroup RTC
29 * @brief RTC driver modules
30 * @{
31 */
32
33 /** @defgroup RTC_Private_TypesDefinitions
34 * @{
35 */
36 /**
37 * @}
38 */
39
40 /** @defgroup RTC_Private_Defines
41 * @{
42 */
43 #define RTC_LSB_MASK ((uint32_t)0x0000FFFF) /*!< RTC LSB Mask */
44 #define PRLH_MSB_MASK ((uint32_t)0x000F0000) /*!< RTC Prescaler MSB Mask */
45
46 /**
47 * @}
48 */
49
50 /** @defgroup RTC_Private_Macros
51 * @{
52 */
53
54 /**
55 * @}
56 */
57
58 /** @defgroup RTC_Private_Variables
59 * @{
60 */
61
62 /**
63 * @}
64 */
65
66 /** @defgroup RTC_Private_FunctionPrototypes
67 * @{
68 */
69
70 /**
71 * @}
72 */
73
74 /** @defgroup RTC_Private_Functions
75 * @{
76 */
77
78 /**
79 * @brief Enables or disables the specified RTC interrupts.
80 * @param RTC_IT: specifies the RTC interrupts sources to be enabled or disabled.
81 * This parameter can be any combination of the following values:
82 * @arg RTC_IT_OW: Overflow interrupt
83 * @arg RTC_IT_ALR: Alarm interrupt
84 * @arg RTC_IT_SEC: Second interrupt
85 * @param NewState: new state of the specified RTC interrupts.
86 * This parameter can be: ENABLE or DISABLE.
87 * @retval None
88 */
\ In section .text, align 2, keep-with-next
89 void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState)
90 {
91 /* Check the parameters */
92 assert_param(IS_RTC_IT(RTC_IT));
93 assert_param(IS_FUNCTIONAL_STATE(NewState));
94
95 if (NewState != DISABLE)
\ RTC_ITConfig:
\ 00000000 C9B2 UXTB R1,R1 ;; ZeroExt R1,R1,#+24,#+24
\ 00000002 0029 CMP R1,#+0
\ 00000004 05D0 BEQ.N ??RTC_ITConfig_0
96 {
97 RTC->CRH |= RTC_IT;
\ 00000006 .... LDR.N R2,??DataTable13 ;; 0x40002800
\ 00000008 1288 LDRH R2,[R2, #+0]
\ 0000000A 0243 ORRS R2,R0,R2
\ 0000000C .... LDR.N R3,??DataTable13 ;; 0x40002800
\ 0000000E 1A80 STRH R2,[R3, #+0]
\ 00000010 04E0 B.N ??RTC_ITConfig_1
98 }
99 else
100 {
101 RTC->CRH &= (uint16_t)~RTC_IT;
\ ??RTC_ITConfig_0:
\ 00000012 .... LDR.N R2,??DataTable13 ;; 0x40002800
\ 00000014 1288 LDRH R2,[R2, #+0]
\ 00000016 8243 BICS R2,R2,R0
\ 00000018 .... LDR.N R3,??DataTable13 ;; 0x40002800
\ 0000001A 1A80 STRH R2,[R3, #+0]
102 }
103 }
\ ??RTC_ITConfig_1:
\ 0000001C 7047 BX LR ;; return
104
105 /**
106 * @brief Enters the RTC configuration mode.
107 * @param None
108 * @retval None
109 */
\ In section .text, align 2, keep-with-next
110 void RTC_EnterConfigMode(void)
111 {
112 /* Set the CNF flag to enter in the Configuration Mode */
113 RTC->CRL |= RTC_CRL_CNF;
\ RTC_EnterConfigMode:
\ 00000000 .... LDR.N R0,??DataTable13_1 ;; 0x40002804
\ 00000002 0088 LDRH R0,[R0, #+0]
\ 00000004 50F01000 ORRS R0,R0,#0x10
\ 00000008 .... LDR.N R1,??DataTable13_1 ;; 0x40002804
\ 0000000A 0880 STRH R0,[R1, #+0]
114 }
\ 0000000C 7047 BX LR ;; return
115
116 /**
117 * @brief Exits from the RTC configuration mode.
118 * @param None
119 * @retval None
120 */
\ In section .text, align 2, keep-with-next
121 void RTC_ExitConfigMode(void)
122 {
123 /* Reset the CNF flag to exit from the Configuration Mode */
124 RTC->CRL &= (uint16_t)~((uint16_t)RTC_CRL_CNF);
\ RTC_ExitConfigMode:
\ 00000000 .... LDR.N R0,??DataTable13_1 ;; 0x40002804
\ 00000002 0088 LDRH R0,[R0, #+0]
\ 00000004 4FF6EF71 MOVW R1,#+65519
\ 00000008 0840 ANDS R0,R1,R0
\ 0000000A .... LDR.N R1,??DataTable13_1 ;; 0x40002804
\ 0000000C 0880 STRH R0,[R1, #+0]
125 }
\ 0000000E 7047 BX LR ;; return
126
127 /**
128 * @brief Gets the RTC counter value.
129 * @param None
130 * @retval RTC counter value.
131 */
\ In section .text, align 2, keep-with-next
132 uint32_t RTC_GetCounter(void)
133 {
134 uint16_t tmp = 0;
\ RTC_GetCounter:
\ 00000000 0020 MOVS R0,#+0
135 tmp = RTC->CNTL;
\ 00000002 .... LDR.N R1,??DataTable13_2 ;; 0x4000281c
\ 00000004 0988 LDRH R1,[R1, #+0]
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -