⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm32f10x_it.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 4 页
字号:


                          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 + -