📄 stm32f10x_rtc.lst
字号:
\ 00000010 5B1E SUBS R3,R3,#+1
\ 00000012 9B41 SBCS R3,R3,R3
\ 00000014 DB43 MVNS R3,R3
\ 00000016 DB0F LSRS R3,R3,#+31
\ 00000018 1800 MOVS R0,R3
238 {
239 bitstatus = SET;
240 }
241 else
242 {
243 bitstatus = RESET;
244 }
245 return bitstatus;
\ 0000001A C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 0000001C 7047 BX LR ;; return
246 }
247
248 /*******************************************************************************
249 * Function Name : RTC_ClearFlag
250 * Description : Clears the RTC抯 pending flags.
251 * Input : - RTC_FLAG: specifies the flag to clear.
252 * This parameter can be any combination of the following values:
253 * - RTC_FLAG_RSF: Registers Synchronized flag. This flag
254 * is cleared only after an APB reset or an APB Clock stop.
255 * - RTC_FLAG_OW: Overflow flag
256 * - RTC_FLAG_ALR: Alarm flag
257 * - RTC_FLAG_SEC: Second flag
258 * Output : None
259 * Return : None
260 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
261 void RTC_ClearFlag(u16 RTC_FLAG)
262 {
263 /* Check the parameters */
264 assert_param(IS_RTC_CLEAR_FLAG(RTC_FLAG));
265
266 /* Clear the coressponding RTC flag */
267 RTC->CRL &= (u16)~RTC_FLAG;
\ RTC_ClearFlag:
\ 00000000 .... LDR.N R1,??DataTable22 ;; 0x40002804
\ 00000002 0988 LDRH R1,[R1, #+0]
\ 00000004 8143 BICS R1,R1,R0
\ 00000006 .... LDR.N R2,??DataTable22 ;; 0x40002804
\ 00000008 1180 STRH R1,[R2, #+0]
268 }
\ 0000000A 7047 BX LR ;; return
269
270 /*******************************************************************************
271 * Function Name : RTC_GetITStatus
272 * Description : Checks whether the specified RTC interrupt has occured or not.
273 * Input : - RTC_IT: specifies the RTC interrupts sources to check.
274 * This parameter can be one of the following values:
275 * - RTC_IT_OW: Overflow interrupt
276 * - RTC_IT_ALR: Alarm interrupt
277 * - RTC_IT_SEC: Second interrupt
278 * Output : None
279 * Return : The new state of the RTC_IT (SET or RESET).
280 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
281 ITStatus RTC_GetITStatus(u16 RTC_IT)
282 {
\ RTC_GetITStatus:
\ 00000000 01B5 PUSH {R0,LR}
\ 00000002 0200 MOVS R2,R0
283 ITStatus bitstatus = RESET;
\ 00000004 0021 MOVS R1,#+0
\ 00000006 0800 MOVS R0,R1
284
285 /* Check the parameters */
286 assert_param(IS_RTC_GET_IT(RTC_IT));
287
288 bitstatus = (ITStatus)((RTC->CRL & RTC_IT) != (u16)RESET);
\ 00000008 .... LDR.N R1,??DataTable22 ;; 0x40002804
\ 0000000A 0B88 LDRH R3,[R1, #+0]
\ 0000000C 1340 ANDS R3,R3,R2
\ 0000000E 1900 MOVS R1,R3
\ 00000010 89B2 UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
\ 00000012 491E SUBS R1,R1,#+1
\ 00000014 8941 SBCS R1,R1,R1
\ 00000016 C943 MVNS R1,R1
\ 00000018 C90F LSRS R1,R1,#+31
\ 0000001A 0800 MOVS R0,R1
289
290 if (((RTC->CRH & RTC_IT) != (u16)RESET) && bitstatus)
\ 0000001C .... LDR.N R1,??DataTable20 ;; 0x40002800
\ 0000001E 0988 LDRH R1,[R1, #+0]
\ 00000020 1142 TST R1,R2
\ 00000022 07D0 BEQ.N ??RTC_GetITStatus_0
\ 00000024 0100 MOVS R1,R0
\ 00000026 0800 MOVS R0,R1
\ 00000028 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 0000002A 401E SUBS R0,R0,#+1
\ 0000002C 8041 SBCS R0,R0,R0
\ 0000002E C043 MVNS R0,R0
\ 00000030 C00F LSRS R0,R0,#+31
\ 00000032 01E0 B.N ??RTC_GetITStatus_1
291 {
292 bitstatus = SET;
293 }
294 else
295 {
296 bitstatus = RESET;
\ ??RTC_GetITStatus_0:
\ 00000034 0021 MOVS R1,#+0
\ 00000036 0800 MOVS R0,R1
297 }
298 return bitstatus;
\ ??RTC_GetITStatus_1:
\ 00000038 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 0000003A 01B0 ADD SP,SP,#+4
\ 0000003C 00BD POP {PC} ;; return
299 }
300
301 /*******************************************************************************
302 * Function Name : RTC_ClearITPendingBit
303 * Description : Clears the RTC抯 interrupt pending bits.
304 * Input : - RTC_IT: specifies the interrupt pending bit to clear.
305 * This parameter can be any combination of the following values:
306 * - RTC_IT_OW: Overflow interrupt
307 * - RTC_IT_ALR: Alarm interrupt
308 * - RTC_IT_SEC: Second interrupt
309 * Output : None
310 * Return : None
311 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
312 void RTC_ClearITPendingBit(u16 RTC_IT)
313 {
314 /* Check the parameters */
315 assert_param(IS_RTC_IT(RTC_IT));
316
317 /* Clear the coressponding RTC pending bit */
318 RTC->CRL &= (u16)~RTC_IT;
\ RTC_ClearITPendingBit:
\ 00000000 .... LDR.N R1,??DataTable22 ;; 0x40002804
\ 00000002 0988 LDRH R1,[R1, #+0]
\ 00000004 8143 BICS R1,R1,R0
\ 00000006 .... LDR.N R2,??DataTable22 ;; 0x40002804
\ 00000008 1180 STRH R1,[R2, #+0]
319 }
\ 0000000A 7047 BX LR ;; return
\ In section .XML, align 4, keep-with-next
\ ??DataTable10:
\ 00000000 18280040 DC32 0x40002818
\ In section .XML, align 4, keep-with-next
\ ??DataTable11:
\ 00000000 1C280040 DC32 0x4000281c
\ In section .XML, align 4, keep-with-next
\ ??DataTable20:
\ 00000000 00280040 DC32 0x40002800
\ In section .XML, align 4, keep-with-next
\ ??DataTable22:
\ 00000000 04280040 DC32 0x40002804
320
321 /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function .cstack
-------- -------
RTC_ClearFlag 0
RTC_ClearITPendingBit 0
RTC_EnterConfigMode 0
RTC_ExitConfigMode 0
RTC_GetCounter 0
RTC_GetDivider 0
RTC_GetFlagStatus 0
RTC_GetITStatus 8
RTC_ITConfig 0
RTC_SetAlarm 8
RTC_SetCounter 8
RTC_SetPrescaler 8
RTC_WaitForLastTask 0
RTC_WaitForSynchro 0
Section sizes:
Function/Label Bytes
-------------- -----
RTC_ITConfig 30
RTC_EnterConfigMode 14
RTC_ExitConfigMode 20
RTC_GetCounter 22
RTC_SetCounter 26
RTC_SetPrescaler 40
RTC_SetAlarm 36
RTC_GetDivider 36
??RTC_WaitForLastTask_0 10
RTC_WaitForSynchro 28
RTC_GetFlagStatus 30
RTC_ClearFlag 12
RTC_GetITStatus 62
RTC_ClearITPendingBit 12
??DataTable10 4
??DataTable11 4
??DataTable20 4
??DataTable22 4
394 bytes in section .XML
394 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -