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

📄 stm32f10x_exti.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 2 页
字号:
    108          * Description    : Generates a Software interrupt.
    109          * Input          : - EXTI_Line: specifies the EXTI lines to be enabled or
    110          *                    disabled.
    111          *                    This parameter can be:
    112          *                       - EXTI_Linex: External interrupt line x where x(0..18)
    113          * Output         : None
    114          * Return         : None
    115          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    116          void EXTI_GenerateSWInterrupt(u32 EXTI_Line)
    117          {
    118            /* Check the parameters */
    119            assert_param(IS_EXTI_LINE(EXTI_Line));
    120            
    121            EXTI->SWIER |= EXTI_Line;
   \                     EXTI_GenerateSWInterrupt:
   \   00000000   0249               LDR.N    R1,??EXTI_GenerateSWInterrupt_0  ;; 0x40010410
   \   00000002   0968               LDR      R1,[R1, #+0]
   \   00000004   0143               ORRS     R1,R1,R0
   \   00000006   014A               LDR.N    R2,??EXTI_GenerateSWInterrupt_0  ;; 0x40010410
   \   00000008   1160               STR      R1,[R2, #+0]
    122          }
   \   0000000A   7047               BX       LR               ;; return
   \                     ??EXTI_GenerateSWInterrupt_0:
   \   0000000C   10040140           DC32     0x40010410
    123          
    124          /*******************************************************************************
    125          * Function Name  : EXTI_GetFlagStatus
    126          * Description    : Checks whether the specified EXTI line flag is set or not.
    127          * Input          : - EXTI_Line: specifies the EXTI lines flag to check.
    128          *                    This parameter can be:
    129          *                       - EXTI_Linex: External interrupt line x where x(0..18)
    130          * Output         : None
    131          * Return         : The new state of EXTI_Line (SET or RESET).
    132          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    133          FlagStatus EXTI_GetFlagStatus(u32 EXTI_Line)
    134          {
   \                     EXTI_GetFlagStatus:
   \   00000000   0100               MOVS     R1,R0
    135            FlagStatus bitstatus = RESET;
   \   00000002   0022               MOVS     R2,#+0
   \   00000004   1000               MOVS     R0,R2
    136          
    137            /* Check the parameters */
    138            assert_param(IS_GET_EXTI_LINE(EXTI_Line));
    139            
    140            if ((EXTI->PR & EXTI_Line) != (u32)RESET)
   \   00000006   ....               LDR.N    R2,??DataTable22  ;; 0x40010414
   \   00000008   1268               LDR      R2,[R2, #+0]
   \   0000000A   0A40               ANDS     R2,R2,R1
   \   0000000C   521E               SUBS     R2,R2,#+1
   \   0000000E   9241               SBCS     R2,R2,R2
   \   00000010   D243               MVNS     R2,R2
   \   00000012   D20F               LSRS     R2,R2,#+31
   \   00000014   1000               MOVS     R0,R2
    141            {
    142              bitstatus = SET;
    143            }
    144            else
    145            {
    146              bitstatus = RESET;
    147            }
    148            return bitstatus;
   \   00000016   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   00000018   7047               BX       LR               ;; return
    149          }
    150          
    151          /*******************************************************************************
    152          * Function Name  : EXTI_ClearFlag
    153          * Description    : Clears the EXTI抯 line pending flags.
    154          * Input          : - EXTI_Line: specifies the EXTI lines flags to clear.
    155          *                    This parameter can be:
    156          *                       - EXTI_Linex: External interrupt line x where x(0..18)
    157          * Output         : None
    158          * Return         : None
    159          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    160          void EXTI_ClearFlag(u32 EXTI_Line)
    161          {
    162            /* Check the parameters */
    163            assert_param(IS_EXTI_LINE(EXTI_Line));
    164            
    165            EXTI->PR = EXTI_Line;
   \                     EXTI_ClearFlag:
   \   00000000   ....               LDR.N    R1,??DataTable22  ;; 0x40010414
   \   00000002   0860               STR      R0,[R1, #+0]
    166          }
   \   00000004   7047               BX       LR               ;; return
    167          
    168          /*******************************************************************************
    169          * Function Name  : EXTI_GetITStatus
    170          * Description    : Checks whether the specified EXTI line is asserted or not.
    171          * Input          : - EXTI_Line: specifies the EXTI lines to check.
    172          *                    This parameter can be:
    173          *                       - EXTI_Linex: External interrupt line x where x(0..18)
    174          * Output         : None
    175          * Return         : The new state of EXTI_Line (SET or RESET).
    176          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    177          ITStatus EXTI_GetITStatus(u32 EXTI_Line)
    178          {
   \                     EXTI_GetITStatus:
   \   00000000   0100               MOVS     R1,R0
    179            ITStatus bitstatus = RESET;
   \   00000002   0023               MOVS     R3,#+0
   \   00000004   1800               MOVS     R0,R3
    180            u32 enablestatus = 0;
   \   00000006   0023               MOVS     R3,#+0
   \   00000008   1A00               MOVS     R2,R3
    181          
    182            /* Check the parameters */
    183            assert_param(IS_GET_EXTI_LINE(EXTI_Line));
    184            
    185            enablestatus =  EXTI->IMR & EXTI_Line;
   \   0000000A   ....               LDR.N    R3,??DataTable20  ;; 0x40010400
   \   0000000C   1B68               LDR      R3,[R3, #+0]
   \   0000000E   0B40               ANDS     R3,R3,R1
   \   00000010   1A00               MOVS     R2,R3
    186          
    187            if (((EXTI->PR & EXTI_Line) != (u32)RESET) && enablestatus)
   \   00000012   ....               LDR.N    R3,??DataTable22  ;; 0x40010414
   \   00000014   1B68               LDR      R3,[R3, #+0]
   \   00000016   0B40               ANDS     R3,R3,R1
   \   00000018   002B               CMP      R3,#+0
   \   0000001A   05D0               BEQ.N    ??EXTI_GetITStatus_0
   \   0000001C   1000               MOVS     R0,R2
   \   0000001E   401E               SUBS     R0,R0,#+1
   \   00000020   8041               SBCS     R0,R0,R0
   \   00000022   C043               MVNS     R0,R0
   \   00000024   C00F               LSRS     R0,R0,#+31
   \   00000026   01E0               B.N      ??EXTI_GetITStatus_1
    188            {
    189              bitstatus = SET;
    190            }
    191            else
    192            {
    193              bitstatus = RESET;
   \                     ??EXTI_GetITStatus_0:
   \   00000028   0023               MOVS     R3,#+0
   \   0000002A   1800               MOVS     R0,R3
    194            }
    195            return bitstatus;
   \                     ??EXTI_GetITStatus_1:
   \   0000002C   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   0000002E   7047               BX       LR               ;; return
    196          }
    197          
    198          /*******************************************************************************
    199          * Function Name  : EXTI_ClearITPendingBit
    200          * Description    : Clears the EXTI抯 line pending bits.
    201          * Input          : - EXTI_Line: specifies the EXTI lines to clear.
    202          *                    This parameter can be:
    203          *                       - EXTI_Linex: External interrupt line x where x(0..18)
    204          * Output         : None
    205          * Return         : None
    206          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    207          void EXTI_ClearITPendingBit(u32 EXTI_Line)
    208          {
    209            /* Check the parameters */
    210            assert_param(IS_EXTI_LINE(EXTI_Line));
    211            
    212            EXTI->PR = EXTI_Line;
   \                     EXTI_ClearITPendingBit:
   \   00000000   ....               LDR.N    R1,??DataTable22  ;; 0x40010414
   \   00000002   0860               STR      R0,[R1, #+0]
    213          }
   \   00000004   7047               BX       LR               ;; return

   \                                 In section .XML, align 4, keep-with-next
   \                     ??DataTable11:
   \   00000000   08040140           DC32     0x40010408

   \                                 In section .XML, align 4, keep-with-next
   \                     ??DataTable13:
   \   00000000   0C040140           DC32     0x4001040c

   \                                 In section .XML, align 4, keep-with-next
   \                     ??DataTable20:
   \   00000000   00040140           DC32     0x40010400

   \                                 In section .XML, align 4, keep-with-next
   \                     ??DataTable22:
   \   00000000   14040140           DC32     0x40010414
    214          
    215          /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

   Maximum stack usage in bytes:

     Function                 .cstack
     --------                 -------
     EXTI_ClearFlag                0
     EXTI_ClearITPendingBit        0
     EXTI_DeInit                   0
     EXTI_GenerateSWInterrupt      0
     EXTI_GetFlagStatus            0
     EXTI_GetITStatus              0
     EXTI_Init                     0
     EXTI_StructInit               0


   Section sizes:

     Function/Label           Bytes
     --------------           -----
     EXTI_DeInit                40
     EXTI_Init                 114
     EXTI_StructInit            18
     EXTI_GenerateSWInterrupt   16
     EXTI_GetFlagStatus         26
     EXTI_ClearFlag              6
     EXTI_GetITStatus           48
     EXTI_ClearITPendingBit      6
     ??DataTable11               4
     ??DataTable13               4
     ??DataTable20               4
     ??DataTable22               4

 
 290 bytes in section .XML
 
 290 bytes of CODE memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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