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

📄 stm32f10x_it.txt

📁 基于cortex arm stm32f103RB的智能卡(SmartCard)程序。编译通过
💻 TXT
📖 第 1 页 / 共 2 页
字号:


                          AREA ||i.TIM1_UP_IRQHandler||, CODE, READONLY, ALIGN=1

                  TIM1_UP_IRQHandler PROC
;;;441    {
;;;442    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.TIM1_TRG_COM_IRQHandler||, CODE, READONLY, ALIGN=1

                  TIM1_TRG_COM_IRQHandler PROC
;;;453    {
;;;454    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.TIM1_CC_IRQHandler||, CODE, READONLY, ALIGN=1

                  TIM1_CC_IRQHandler PROC
;;;464    {
;;;465    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.TIM2_IRQHandler||, CODE, READONLY, ALIGN=1

                  TIM2_IRQHandler PROC
;;;475    {
;;;476    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.TIM3_IRQHandler||, CODE, READONLY, ALIGN=1

                  TIM3_IRQHandler PROC
;;;486    {
;;;487    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.TIM4_IRQHandler||, CODE, READONLY, ALIGN=1

                  TIM4_IRQHandler PROC
;;;497    {
;;;498    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.I2C1_EV_IRQHandler||, CODE, READONLY, ALIGN=1

                  I2C1_EV_IRQHandler PROC
;;;508    {
;;;509    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.I2C1_ER_IRQHandler||, CODE, READONLY, ALIGN=1

                  I2C1_ER_IRQHandler PROC
;;;519    {
;;;520    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.I2C2_EV_IRQHandler||, CODE, READONLY, ALIGN=1

                  I2C2_EV_IRQHandler PROC
;;;530    {
;;;531    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.I2C2_ER_IRQHandler||, CODE, READONLY, ALIGN=1

                  I2C2_ER_IRQHandler PROC
;;;541    {
;;;542    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.SPI1_IRQHandler||, CODE, READONLY, ALIGN=1

                  SPI1_IRQHandler PROC
;;;552    {
;;;553    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.SPI2_IRQHandler||, CODE, READONLY, ALIGN=1

                  SPI2_IRQHandler PROC
;;;563    {
;;;564    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.USART1_IRQHandler||, CODE, READONLY, ALIGN=1

                  USART1_IRQHandler PROC
;;;574    {
;;;575    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.USART2_IRQHandler||, CODE, READONLY, ALIGN=1

                  USART2_IRQHandler PROC
;;;585    {
;;;586    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.USART3_IRQHandler||, CODE, READONLY, ALIGN=2

                  USART3_IRQHandler PROC
;;;595    void USART3_IRQHandler(void)
;;;596    {
000000  b570              PUSH     {r4-r6,lr}
;;;597      /* If a Frame error is signaled by the card */
;;;598      if(USART_GetITStatus(USART3, USART_IT_FE) != RESET)
000002  4c21              LDR      r4,|L49.136|
000004  f44ff44f          MOV      r5,#0x160
000008  4629              MOV      r1,r5
00000a  4620              MOV      r0,r4
00000c  f7fff7ff          BL       USART_GetITStatus
000010  b140              CBZ      r0,|L49.36|
;;;599      {
;;;600        /* Clear the USART3 Frame error pending bit */
;;;601        USART_ClearITPendingBit(USART3, USART_IT_FE);
000012  4629              MOV      r1,r5
000014  4620              MOV      r0,r4
000016  f7fff7ff          BL       USART_ClearITPendingBit
;;;602        USART_ReceiveData(USART3);
00001a  4620              MOV      r0,r4
00001c  f7fff7ff          BL       USART_ReceiveData
;;;603    
;;;604        /* Resend the byte that failed to be received (by the Smartcard) correctly */
;;;605        SC_ParityErrorHandler();
000020  f7fff7ff          BL       SC_ParityErrorHandler
                  |L49.36|
;;;606      }
;;;607      
;;;608      /* If the USART3 detects a parity error */
;;;609      if(USART_GetITStatus(USART3, USART_IT_PE) != RESET)
000024  2128              MOVS     r1,#0x28
000026  4620              MOV      r0,r4
000028  f7fff7ff          BL       USART_GetITStatus
00002c  b160              CBZ      r0,|L49.72|
                  |L49.46|
;;;610      {
;;;611        while(USART_GetFlagStatus(USART3, USART_FLAG_RXNE) == RESET)
00002e  2120              MOVS     r1,#0x20
000030  4620              MOV      r0,r4
000032  f7fff7ff          BL       USART_GetFlagStatus
000036  2800              CMP      r0,#0
000038  d0f9              BEQ      |L49.46|
;;;612        {
;;;613        }
;;;614        /* Clear the USART3 Parity error pending bit */
;;;615        USART_ClearITPendingBit(USART3, USART_IT_PE);
00003a  2128              MOVS     r1,#0x28
00003c  4620              MOV      r0,r4
00003e  f7fff7ff          BL       USART_ClearITPendingBit
;;;616        USART_ReceiveData(USART3);
000042  4620              MOV      r0,r4
000044  f7fff7ff          BL       USART_ReceiveData
                  |L49.72|
;;;617      }
;;;618      /* If a Overrun error is signaled by the card */
;;;619      if(USART_GetITStatus(USART3, USART_IT_ORE) != RESET)
000048  f44ff44f          MOV      r5,#0x360
00004c  4629              MOV      r1,r5
00004e  4620              MOV      r0,r4
000050  f7fff7ff          BL       USART_GetITStatus
000054  b130              CBZ      r0,|L49.100|
;;;620      {
;;;621        /* Clear the USART3 Frame error pending bit */
;;;622        USART_ClearITPendingBit(USART3, USART_IT_ORE);
000056  4629              MOV      r1,r5
000058  4620              MOV      r0,r4
00005a  f7fff7ff          BL       USART_ClearITPendingBit
;;;623        USART_ReceiveData(USART3);
00005e  4620              MOV      r0,r4
000060  f7fff7ff          BL       USART_ReceiveData
                  |L49.100|
;;;624      }
;;;625      /* If a Noise error is signaled by the card */
;;;626      if(USART_GetITStatus(USART3, USART_IT_NE) != RESET)
000064  f44ff44f          MOV      r5,#0x260
000068  4629              MOV      r1,r5
00006a  4620              MOV      r0,r4
00006c  f7fff7ff          BL       USART_GetITStatus
000070  2800              CMP      r0,#0
000072  d008              BEQ      |L49.134|
;;;627      {
;;;628        /* Clear the USART3 Frame error pending bit */
;;;629        USART_ClearITPendingBit(USART3, USART_IT_NE);
000074  4629              MOV      r1,r5
000076  4620              MOV      r0,r4
000078  f7fff7ff          BL       USART_ClearITPendingBit
;;;630        USART_ReceiveData(USART3);
00007c  4620              MOV      r0,r4
00007e  e8bde8bd          POP      {r4-r6,lr}
000082  f7fff7ff          B.W      USART_ReceiveData
                  |L49.134|
;;;631      }
;;;632    }
000086  bd70              POP      {r4-r6,pc}
                          ENDP

                  |L49.136|
000088  40004800          DCD      0x40004800

                          AREA ||i.EXTI15_10_IRQHandler||, CODE, READONLY, ALIGN=2

                  EXTI15_10_IRQHandler PROC
;;;641    void EXTI15_10_IRQHandler(void)
;;;642    {
000000  b570              PUSH     {r4-r6,lr}
;;;643      if(EXTI_GetITStatus(EXTI_Line14) != RESET)
000002  f44ff44f          MOV      r4,#0x4000
000006  4620              MOV      r0,r4
000008  f7fff7ff          BL       EXTI_GetITStatus
00000c  2800              CMP      r0,#0
00000e  d03b              BEQ      |L50.136|
;;;644      {
;;;645        /* Clear EXTIT Line 14 Pending Bit */
;;;646        EXTI_ClearITPendingBit(EXTI_Line14);
000010  4620              MOV      r0,r4
000012  f7fff7ff          BL       EXTI_ClearITPendingBit
;;;647    
;;;648        /* Toggle the LEDs connected to PC.06, PC.07, PC.08 and PC.09 */
;;;649        GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));
000016  4c1d              LDR      r4,|L50.140|
000018  2140              MOVS     r1,#0x40
00001a  4620              MOV      r0,r4
00001c  f7fff7ff          BL       GPIO_ReadOutputDataBit
000020  f1c0f1c0          RSB      r0,r0,#1
000024  b2c2              UXTB     r2,r0
000026  2140              MOVS     r1,#0x40
000028  4620              MOV      r0,r4
00002a  f7fff7ff          BL       GPIO_WriteBit
;;;650        GPIO_WriteBit(GPIOC, GPIO_Pin_7, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_7)));
00002e  2180              MOVS     r1,#0x80
000030  4620              MOV      r0,r4
000032  f7fff7ff          BL       GPIO_ReadOutputDataBit
000036  f1c0f1c0          RSB      r0,r0,#1
00003a  b2c2              UXTB     r2,r0
00003c  2180              MOVS     r1,#0x80
00003e  4620              MOV      r0,r4
000040  f7fff7ff          BL       GPIO_WriteBit
;;;651        GPIO_WriteBit(GPIOC, GPIO_Pin_8, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_8)));
000044  15a5              ASRS     r5,r4,#22
000046  4629              MOV      r1,r5
000048  4620              MOV      r0,r4
00004a  f7fff7ff          BL       GPIO_ReadOutputDataBit
00004e  f1c0f1c0          RSB      r0,r0,#1
000052  b2c2              UXTB     r2,r0
000054  4629              MOV      r1,r5
000056  4620              MOV      r0,r4
000058  f7fff7ff          BL       GPIO_WriteBit
;;;652        GPIO_WriteBit(GPIOC, GPIO_Pin_9, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_9)));
00005c  1565              ASRS     r5,r4,#21
00005e  4629              MOV      r1,r5
000060  4620              MOV      r0,r4
000062  f7fff7ff          BL       GPIO_ReadOutputDataBit
000066  f1c0f1c0          RSB      r0,r0,#1
00006a  b2c2              UXTB     r2,r0
00006c  4629              MOV      r1,r5
00006e  4620              MOV      r0,r4
000070  f7fff7ff          BL       GPIO_WriteBit
;;;653    
;;;654        /* Smartcard detected */
;;;655        CardInserted = 1;
000074  4906              LDR      r1,|L50.144|
000076  2001              MOVS     r0,#1
000078  6008              STR      r0,[r1,#0]  ; CardInserted
;;;656    
;;;657        /* Power ON the card */
;;;658        SC_PowerCmd(ENABLE);
00007a  f7fff7ff          BL       SC_PowerCmd
;;;659    
;;;660        /* Reset the card */
;;;661        SC_Reset(Bit_RESET);
00007e  e8bde8bd          POP      {r4-r6,lr}
000082  2000              MOVS     r0,#0
000084  f7fff7ff          B.W      SC_Reset
                  |L50.136|
;;;662      }
;;;663    }
000088  bd70              POP      {r4-r6,pc}
                          ENDP

00008a  0000              DCW      0x0000
                  |L50.140|
00008c  40011000          DCD      0x40011000
                  |L50.144|
000090  00000000          DCD      CardInserted

                          AREA ||i.RTCAlarm_IRQHandler||, CODE, READONLY, ALIGN=1

                  RTCAlarm_IRQHandler PROC
;;;673    {
;;;674    }
000000  4770              BX       lr
                          ENDP


                          AREA ||i.USBWakeUp_IRQHandler||, CODE, READONLY, ALIGN=1

                  USBWakeUp_IRQHandler PROC
;;;684    {
;;;685    }
000000  4770              BX       lr
                          ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -