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

📄 stm32f10x_exti.lst

📁 STM32利用正交编码器实现电机的控制
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32               15/May/2008  12:06:30 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM        #
#                       Encoder\example\FWLib\src\stm32f10x_exti.c           #
#    Command line    =  "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\FWLib\src\stm32f10x_exti.c" -D       #
#                       VECT_TAB_FLASH -lcN "C:\David JIANG\ST               #
#                       MCU\Docs\STM32\AN_JIANG\TIM                          #
#                       Encoder\example\project\EWARM\BOOT_FLASH\List\" -lb  #
#                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\project\EWARM\BOOT_FLASH\List\" -o   #
#                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\project\EWARM\BOOT_FLASH\Obj\" -z3   #
#                       --no_cse --no_unroll --no_inline --no_code_motion    #
#                       --no_tbaa --no_clustering --no_scheduling --debug    #
#                       --cpu_mode thumb --endian little --cpu cortex-M3     #
#                       --stack_align 4 --require_prototypes --fpu None      #
#                       --dlib_config "C:\Program Files\IAR                  #
#                       Systems\Embedded Workbench                           #
#                       4.0\arm\LIB\dl7mptnnl8f.h" -I "C:\David JIANG\ST     #
#                       MCU\Docs\STM32\AN_JIANG\TIM                          #
#                       Encoder\example\project\EWARM\" -I "C:\David         #
#                       JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM                 #
#                       Encoder\example\project\EWARM\..\include\" -I        #
#                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\project\EWARM\..\..\FWLib\inc\" -I   #
#                       "C:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0\arm\INC\"                                        #
#    List file       =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM        #
#                       Encoder\example\project\EWARM\BOOT_FLASH\List\stm32f #
#                       10x_exti.lst                                         #
#    Object file     =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM        #
#                       Encoder\example\project\EWARM\BOOT_FLASH\Obj\stm32f1 #
#                       0x_exti.r79                                          #
#                                                                            #
#                                                                            #
##############################################################################

C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM Encoder\example\FWLib\src\stm32f10x_exti.c
      1          /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
      2          * File Name          : stm32f10x_exti.c
      3          * Author             : MCD Application Team
      4          * Date First Issued  : 09/29/2006
      5          * Description        : This file provides all the EXTI firmware functions.
      6          ********************************************************************************
      7          * History:
      8          * 05/21/2007: V0.3
      9          * 04/02/2007: V0.2
     10          * 02/05/2007: V0.1
     11          * 09/29/2006: V0.01
     12          ********************************************************************************
     13          * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
     14          * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
     15          * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
     16          * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
     17          * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
     18          * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     19          *******************************************************************************/
     20          
     21          /* Includes ------------------------------------------------------------------*/
     22          #include "stm32f10x_exti.h"
     23          
     24          /* Private typedef -----------------------------------------------------------*/
     25          /* Private define ------------------------------------------------------------*/
     26          #define EXTI_LineNone    ((u32)0x00000)  /* No interrupt selected */
     27          
     28          /* Private macro -------------------------------------------------------------*/
     29          /* Private variables ---------------------------------------------------------*/
     30          /* Private function prototypes -----------------------------------------------*/
     31          /* Private functions ---------------------------------------------------------*/
     32          
     33          /*******************************************************************************
     34          * Function Name  : EXTI_DeInit
     35          * Description    : Deinitializes the EXTI peripheral registers to their default 
     36          *                  reset values.
     37          * Input          : None
     38          * Output         : None
     39          * Return         : None
     40          *******************************************************************************/
     41          void EXTI_DeInit(void)
     42          {
     43            EXTI->IMR = 0x00000000;
     44            EXTI->EMR = 0x00000000;
     45            EXTI->RTSR = 0x00000000; 
     46            EXTI->FTSR = 0x00000000; 
     47            EXTI->PR = 0x0007FFFF;
     48          }
     49          
     50          /*******************************************************************************
     51          * Function Name  : EXTI_Init
     52          * Description    : Initializes the EXTI peripheral according to the specified
     53          *                  parameters in the EXTI_InitStruct.
     54          * Input          : - EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
     55          *                    that contains the configuration information for the EXTI
     56          *                    peripheral.
     57          * Output         : None
     58          * Return         : None
     59          *******************************************************************************/
     60          void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)
     61          {
     62            /* Check the parameters */
     63            assert(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode));
     64            assert(IS_EXTI_TRIGGER(EXTI_InitStruct->EXTI_Trigger));
     65            assert(IS_EXTI_LINE(EXTI_InitStruct->EXTI_Line));  
     66            assert(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd));
     67               
     68            if (EXTI_InitStruct->EXTI_LineCmd != DISABLE)
     69            {
     70              *(u32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Mode)|= EXTI_InitStruct->EXTI_Line;
     71          
     72              /* Clear Rising Falling edge configuration */
     73              EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line;
     74              EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line;
     75              
     76              /* Select the trigger for the selected external interrupts */
     77              if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling)
     78              {
     79                /* Rising Falling edge */
     80                EXTI->RTSR |= EXTI_InitStruct->EXTI_Line;
     81                EXTI->FTSR |= EXTI_InitStruct->EXTI_Line;
     82              }
     83              else
     84              {
     85                *(u32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Trigger)|= EXTI_InitStruct->EXTI_Line;
     86              }
     87            }
     88            else
     89            {
     90              /* Disable the selected external lines */
     91              *(u32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Mode)&= ~EXTI_InitStruct->EXTI_Line;
     92            }
     93          }
     94          
     95          /*******************************************************************************
     96          * Function Name  : EXTI_StructInit
     97          * Description    : Fills each EXTI_InitStruct member with its reset value.
     98          * Input          : - EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
     99          *                    which will be initialized.
    100          * Output         : None
    101          * Return         : None
    102          *******************************************************************************/
    103          void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct)
    104          {
    105            EXTI_InitStruct->EXTI_Line = EXTI_LineNone;
    106            EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt;
    107            EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling;
    108            EXTI_InitStruct->EXTI_LineCmd = DISABLE;
    109          }

⌨️ 快捷键说明

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