📄 stm32f10x_it.txt
字号:
AREA ||i.RTCAlarm_IRQHandler||, CODE, READONLY, ALIGN=2
RTCAlarm_IRQHandler PROC
;;;877 *******************************************************************************/
;;;878 void RTCAlarm_IRQHandler(void)
000000 b510 PUSH {r4,lr}
;;;879 {
;;;880 /* Clear the Alarm Pending Bit */
;;;881 RTC_ClearITPendingBit(RTC_IT_ALR);
000002 2002 MOVS r0,#2
000004 f7fffffe BL RTC_ClearITPendingBit
;;;882
;;;883 AlarmStatus = 1;
000008 4905 LDR r1,|L37.32|
00000a 2001 MOVS r0,#1
00000c 6048 STR r0,[r1,#4] ; AlarmStatus
;;;884 Set_STOPModeStatus();
00000e f7fffffe BL Set_STOPModeStatus
;;;885
;;;886 /* Clear the EXTI Line 17/ */
;;;887 EXTI_ClearITPendingBit(EXTI_Line17);
000012 e8bd4010 POP {r4,lr}
000016 f44f3000 MOV r0,#0x20000
00001a f7ffbffe B.W EXTI_ClearITPendingBit
;;;888 }
;;;889
ENDP
00001e 0000 DCW 0x0000
|L37.32|
DCD ||.data||
AREA ||i.RTC_IRQHandler||, CODE, READONLY, ALIGN=2
RTC_IRQHandler PROC
;;;263 *******************************************************************************/
;;;264 void RTC_IRQHandler(void)
000000 b510 PUSH {r4,lr}
;;;265 {
;;;266 /* If counter is equal to 86339: one day was elapsed */
;;;267 if((RTC_GetCounter()/3600 == 23)&&(((RTC_GetCounter()%3600)/60) == 59)&&
000002 f7fffffe BL RTC_GetCounter
000006 4915 LDR r1,|L38.92|
000008 f44f6461 MOV r4,#0xe10
00000c 4408 ADD r0,r0,r1
00000e 42a0 CMP r0,r4
000010 d21f BCS |L38.82|
000012 f7fffffe BL RTC_GetCounter
000016 fbb0f1f4 UDIV r1,r0,r4
00001a fb040011 MLS r0,r4,r1,r0
00001e f6a050d4 SUB r0,r0,#0xdd4
000022 283c CMP r0,#0x3c
000024 d215 BCS |L38.82|
;;;268 (((RTC_GetCounter()%3600)%60) == 59)) /* 23*3600 + 59*60 + 59 = 86339 */
000026 f7fffffe BL RTC_GetCounter
00002a fbb0f1f4 UDIV r1,r0,r4
00002e fb040011 MLS r0,r4,r1,r0
000032 213c MOVS r1,#0x3c
000034 fbb0f2f1 UDIV r2,r0,r1
000038 fb010012 MLS r0,r1,r2,r0
00003c 283b CMP r0,#0x3b
00003e d108 BNE |L38.82|
;;;269 {
;;;270 /* Wait until last write operation on RTC registers has finished */
;;;271 RTC_WaitForLastTask();
000040 f7fffffe BL RTC_WaitForLastTask
;;;272 /* Reset counter value */
;;;273 RTC_SetCounter(0x0);
000044 2000 MOVS r0,#0
000046 f7fffffe BL RTC_SetCounter
;;;274 /* Wait until last write operation on RTC registers has finished */
;;;275 RTC_WaitForLastTask();
00004a f7fffffe BL RTC_WaitForLastTask
;;;276
;;;277 /* Increment the date */
;;;278 Date_Update();
00004e f7fffffe BL Date_Update
|L38.82|
;;;279 }
;;;280 /* Clear the RTC Second Interrupt pending bit */
;;;281 RTC_ClearITPendingBit(RTC_IT_SEC);
000052 e8bd4010 POP {r4,lr}
000056 2001 MOVS r0,#1
000058 f7ffbffe B.W RTC_ClearITPendingBit
;;;282 }
;;;283
ENDP
|L38.92|
DCD 0xfffebc90
AREA ||i.SDIO_IRQHandler||, CODE, READONLY, ALIGN=1
SDIO_IRQHandler PROC
;;;975 *******************************************************************************/
;;;976 void SDIO_IRQHandler(void)
000000 4770 BX lr
;;;977 {
;;;978 }
;;;979
ENDP
AREA ||i.SPI1_IRQHandler||, CODE, READONLY, ALIGN=1
SPI1_IRQHandler PROC
;;;764 *******************************************************************************/
;;;765 void SPI1_IRQHandler(void)
000000 4770 BX lr
;;;766 {
;;;767 }
;;;768
ENDP
AREA ||i.SPI2_IRQHandler||, CODE, READONLY, ALIGN=2
SPI2_IRQHandler PROC
;;;775 *******************************************************************************/
;;;776 void SPI2_IRQHandler(void)
000000 b510 PUSH {r4,lr}
;;;777 {
;;;778 if ((SPI_I2S_GetITStatus(SPI2, SPI_I2S_IT_TXE) == SET))
000002 2171 MOVS r1,#0x71
000004 4804 LDR r0,|L41.24|
000006 f7fffffe BL SPI_I2S_GetITStatus
00000a 2801 CMP r0,#1
00000c d103 BNE |L41.22|
;;;779 {
;;;780 /* Send data on the SPI2 and Check the current commands */
;;;781 I2S_CODEC_DataTransfer();
00000e e8bd4010 POP {r4,lr}
000012 f7ffbffe B.W I2S_CODEC_DataTransfer
|L41.22|
;;;782 }
;;;783 }
000016 bd10 POP {r4,pc}
;;;784
ENDP
|L41.24|
DCD 0x40003800
AREA ||i.SPI3_IRQHandler||, CODE, READONLY, ALIGN=1
SPI3_IRQHandler PROC
;;;997 *******************************************************************************/
;;;998 void SPI3_IRQHandler(void)
000000 4770 BX lr
;;;999 {
;;;1000 }
;;;1001
ENDP
AREA ||i.SVCHandler||, CODE, READONLY, ALIGN=1
SVCHandler PROC
;;;194 *******************************************************************************/
;;;195 void SVCHandler(void)
000000 4770 BX lr
;;;196 {
;;;197 }
;;;198
ENDP
AREA ||i.SysTickHandler||, CODE, READONLY, ALIGN=2
SysTickHandler PROC
;;;216 *******************************************************************************/
;;;217 void SysTickHandler(void)
000000 b510 PUSH {r4,lr}
;;;218 {
;;;219 /* Decrement the TimingDelay variable */
;;;220 Decrement_TimingDelay();
000002 f7fffffe BL Decrement_TimingDelay
;;;221 OS_TimeMS++;
000006 4902 LDR r1,|L44.16|
000008 6808 LDR r0,[r1,#0] ; OS_TimeMS
00000a 1c40 ADDS r0,r0,#1
00000c 6008 STR r0,[r1,#0] ; OS_TimeMS
;;;222 }
00000e bd10 POP {r4,pc}
;;;223
ENDP
|L44.16|
DCD OS_TimeMS
AREA ||i.TAMPER_IRQHandler||, CODE, READONLY, ALIGN=1
TAMPER_IRQHandler PROC
;;;252 *******************************************************************************/
;;;253 void TAMPER_IRQHandler(void)
000000 4770 BX lr
;;;254 {
;;;255 }
;;;256
ENDP
AREA ||i.TIM1_BRK_IRQHandler||, CODE, READONLY, ALIGN=1
TIM1_BRK_IRQHandler PROC
;;;569 *******************************************************************************/
;;;570 void TIM1_BRK_IRQHandler(void)
000000 4770 BX lr
;;;571 {
;;;572 }
;;;573
ENDP
AREA ||i.TIM1_CC_IRQHandler||, CODE, READONLY, ALIGN=1
TIM1_CC_IRQHandler PROC
;;;676 *******************************************************************************/
;;;677 void TIM1_CC_IRQHandler(void)
000000 4770 BX lr
;;;678 {
;;;679 }
;;;680
ENDP
AREA ||i.TIM1_TRG_COM_IRQHandler||, CODE, READONLY, ALIGN=1
TIM1_TRG_COM_IRQHandler PROC
;;;665 *******************************************************************************/
;;;666 void TIM1_TRG_COM_IRQHandler(void)
000000 4770 BX lr
;;;667 {
;;;668 }
;;;669
ENDP
AREA ||i.TIM1_UP_IRQHandler||, CODE, READONLY, ALIGN=2
TIM1_UP_IRQHandler PROC
;;;581 *******************************************************************************/
;;;582 void TIM1_UP_IRQHandler(void)
000000 e92d41f0 PUSH {r4-r8,lr}
;;;583 {
;;;584 /* Clear the TIM1 Update pending bit */
;;;585 TIM_ClearITPendingBit(TIM1, TIM_IT_Update);
000004 2101 MOVS r1,#1
000006 482a LDR r0,|L49.176|
000008 f7fffffe BL TIM_ClearITPendingBit
;;;586
;;;587 if(AlarmStatus == 1)
00000c 4d29 LDR r5,|L49.180|
00000e 6868 LDR r0,[r5,#4] ; AlarmStatus
;;;588 {
;;;589 if((LedCounter & 0x01) == 0)
;;;590 {
;;;591 GPIO_SetBits(GPIOF, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9);
000010 4c29 LDR r4,|L49.184|
;;;592 }
;;;593 else if ((LedCounter & 0x01) == 0x01)
;;;594 {
;;;595 GPIO_ResetBits(GPIOF, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9);
;;;596 }
;;;597
;;;598 LedCounter++;
;;;599
;;;600 if(LedCounter == 300)
;;;601 {
;;;602 AlarmStatus = 0;
000012 2600 MOVS r6,#0
000014 2801 CMP r0,#1 ;587
000016 d119 BNE |L49.76|
000018 68a8 LDR r0,[r5,#8] ;589 ; LedCounter
00001a f44f7170 MOV r1,#0x3c0 ;591
00001e 07c0 LSLS r0,r0,#31 ;589
000020 d103 BNE |L49.42|
000022 4620 MOV r0,r4 ;591
000024 f7fffffe BL GPIO_SetBits
000028 e005 B |L49.54|
|L49.42|
00002a 68a8 LDR r0,[r5,#8] ;593 ; LedCounter
00002c 07c0 LSLS r0,r0,#31 ;593
00002e d002 BEQ |L49.54|
000030 4620 MOV r0,r4 ;595
000032 f7fffffe BL GPIO_ResetBits
|L49.54|
000036 68a8 LDR r0,[r5,#8] ;598 ; LedCounter
000038 1c40 ADDS r0,r0,#1 ;598
00003a 60a8 STR r0,[r5,#8] ;598 ; LedCounter
00003c 68a8 LDR r0,[r5,#8] ;600 ; LedCounter
00003e f5b07f96 CMP r0,#0x12c ;600
000042 d101 BNE |L49.72|
000044 606e STR r6,[r5,#4] ; AlarmStatus
;;;603 LedCounter = 0;
000046 60ae STR r6,[r5,#8] ; LedCounter
|L49.72|
;;;604 }
;;;605 }
;;;606 else
;;;607 {
;;;608 /* If LedShowStatus is TRUE: enable leds toggling */
;;;609 if(Get_LedShowStatus() != 0)
;;;610 {
;;;611 switch(Index)
;;;612 {
;;;613 /* LD1 turned on, LD4 turned off */
;;;614 case 0:
;;;615 {
;;;616 GPIO_ResetBits(GPIOF, GPIO_Pin_9);
;;;617 GPIO_SetBits(GPIOF, GPIO_Pin_6);
;;;618 Index++;
;;;619 break;
;;;620 }
;;;621 /* LD2 turned on, LD1 turned off */
;;;622 case 1:
;;;623 {
;;;624 GPIO_ResetBits(GPIOF, GPIO_Pin_6);
;;;625 GPIO_SetBits(GPIOF, GPIO_Pin_7);
;;;626 Index++;
;;;627 break;
;;;628 }
;;;629 /* LD3 turned on, LD2 turned off */
;;;630 case 2:
;;;631 {
;;;632 GPIO_ResetBits(GPIOF, GPIO_Pin_7);
;;;633 GPIO_SetBits(GPIOF, GPIO_Pin_8);
;;;634 Index++;
;;;635 break;
;;;636 }
;;;637 /* LD4 turned on, LD3 turned off */
;;;638 case 3:
;;;639 {
;;;640 GPIO_ResetBits(GPIOF, GPIO_Pin_8);
;;;641 GPIO_SetBits(GPIOF, GPIO_Pin_9);
;;;642 Index++;
;;;643 break;
;;;644 }
;;;645
;;;646 default:
;;;647 break;
;;;648 }
;;;649 /* Reset Index to replay leds switch on sequence */
;;;650 if(Index == 4)
;;;651 {
;;;652 Index = 0;
;;;653 }
;;;654 }
;;;655 }
;;;656 }
000048 e8bd81f0 POP {r4-r8,pc}
|L49.76|
00004c f7fffffe BL Get_LedShowStatus
000050 2800 CMP r0,#0 ;609
000052 d0f9 BEQ |L49.72|
000054 6828 LDR r0,[r5,#0] ;611 ; Index
000056 f44f7700 MOV r7,#0x200 ;616
00005a b168 CBZ r0,|L49.120|
00005c 2801 CMP r0,#1 ;611
00005e d011 BEQ |L49.132|
000060 f44f7880 MOV r8,#0x100 ;633
000064 2802 CMP r0,#2 ;611
000066 d01d BEQ |L49.164|
000068 2803 CMP r0,#3 ;611
00006a d116 BNE |L49.154|
00006c 4641 MOV r1,r8 ;640
00006e 4620 MOV r0,r4 ;640
000070 f7fffffe BL GPIO_ResetBits
000074 4639 MOV r1,r7 ;641
000076 e00a B |L49.142|
|L49.120|
000078 4639 MOV r1,r7 ;616
00007a 4620 MOV r0,r4 ;616
00007c f7fffffe BL GPIO_ResetBits
000080 2140 MOVS r1,#0x40 ;617
000082 e004 B |L49.142|
|L49.132|
000084 2140 MOVS r1,#0x40 ;624
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -