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

📄 stm32f10x_tim.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
###############################################################################
#                                                                             #
#                                                       30/Jul/2008  14:37:40 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                    #
# Copyright 1999-2007 IAR Systems. All rights reserved.                       #
#                                                                             #
#    Cpu mode     =  thumb                                                    #
#    Endian       =  little                                                   #
#    Source file  =  E:\library\src\stm32f10x_tim.c                           #
#    Command line =  E:\library\src\stm32f10x_tim.c -D EMB_FLASH -lCN         #
#                    E:\ELE\yten\pro\Debug\List\ -lb                          #
#                    E:\ELE\yten\pro\Debug\List\ -o                           #
#                    E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll          #
#                    --no_inline --no_code_motion --no_tbaa --no_clustering   #
#                    --no_scheduling --debug --endian little --cpu Cortex-M3  #
#                    -e --fpu None --dlib_config "C:\Program Files\IAR        #
#                    Systems\Embedded Workbench 5.0                           #
#                    Evaluation\ARM\INC\DLib_Config_Normal.h" -I              #
#                    E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I   #
#                    "C:\Program Files\IAR Systems\Embedded Workbench 5.0     #
#                    Evaluation\ARM\INC\" --section .text=.XML -On            #
#    List file    =  E:\ELE\yten\pro\Debug\List\stm32f10x_tim.lst             #
#    Object file  =  E:\ELE\yten\pro\Debug\Obj\stm32f10x_tim.o                #
#                                                                             #
#                                                                             #
###############################################################################

E:\library\src\stm32f10x_tim.c
      1          /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
      2          * File Name          : stm32f10x_tim.c
      3          * Author             : MCD Application Team
      4          * Version            : V1.0
      5          * Date               : 10/08/2007
      6          * Description        : This file provides all the TIM firmware functions.
      7          ********************************************************************************
      8          * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
      9          * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
     10          * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
     11          * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
     12          * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
     13          * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     14          *******************************************************************************/
     15          
     16          /* Includes ------------------------------------------------------------------*/
     17          #include "stm32f10x_tim.h"
     18          #include "stm32f10x_rcc.h"
     19          
     20          /* Private typedef -----------------------------------------------------------*/
     21          /* Private define ------------------------------------------------------------*/
     22          /* ---------------------- TIM registers bit mask ------------------------ */
     23          #define CR1_CEN_Set                 ((u16)0x0001)
     24          #define CR1_CEN_Reset               ((u16)0x03FE)
     25          #define CR1_UDIS_Set                ((u16)0x0002)
     26          #define CR1_UDIS_Reset              ((u16)0x03FD)
     27          #define CR1_URS_Set                 ((u16)0x0004)
     28          #define CR1_URS_Reset               ((u16)0x03FB)
     29          #define CR1_OPM_Mask                ((u16)0x03F7)
     30          #define CR1_CounterMode_Mask        ((u16)0x038F)
     31          #define CR1_ARPE_Set                ((u16)0x0080)
     32          #define CR1_ARPE_Reset              ((u16)0x037F)
     33          #define CR1_CKD_Mask                ((u16)0x00FF)
     34          
     35          #define CR2_CCDS_Set                ((u16)0x0008)
     36          #define CR2_CCDS_Reset              ((u16)0x00F0)
     37          #define CR2_MMS_Mask                ((u16)0x0080)
     38          #define CR2_TI1S_Set                ((u16)0x0080)
     39          #define CR2_TI1S_Reset              ((u16)0xFF70)
     40          
     41          #define SMCR_SMS_Mask               ((u16)0xFFF0)
     42          #define SMCR_ETR_Mask               ((u16)0x00F7)
     43          #define SMCR_TS_Mask                ((u16)0xFF87)
     44          #define SMCR_MSM_Mask               ((u16)0xFF77)
     45          #define SMCR_ECE_Set                ((u16)0x4000)
     46          
     47          #define CCMR_CC13S_Mask             ((u16)0xFFFC)
     48          #define CCMR_CC24S_Mask             ((u16)0xFCFF)
     49          #define CCMR_TI13Direct_Set         ((u16)0x0001)
     50          #define CCMR_TI24Direct_Set         ((u16)0x0100)
     51          #define CCMR_OC13FE_Mask            ((u16)0xFFFB)
     52          #define CCMR_OC24FE_Mask            ((u16)0xFBFF)
     53          #define CCMR_OC13PE_Mask            ((u16)0xFFF7)
     54          #define CCMR_OC24PE_Mask            ((u16)0xF7FF)
     55          #define CCMR_OCM13_Mask             ((u16)0xFF8F)
     56          #define CCMR_OCM24_Mask             ((u16)0x8FFF)
     57          
     58          #define CCMR_OC13CE_Mask            ((u16)0xFF7F)
     59          #define CCMR_OC24CE_Mask            ((u16)0x7FFF)
     60          
     61          #define CCMR_IC13PSC_Mask           ((u16)0xFFF3)
     62          #define CCMR_IC24PSC_Mask           ((u16)0xF3FF)
     63          #define CCMR_IC13F_Mask             ((u16)0xFF0F)
     64          #define CCMR_IC24F_Mask             ((u16)0x0FFF)
     65          
     66          #define CCER_CC1P_Mask              ((u16)0x3331)
     67          #define CCER_CC2P_Mask              ((u16)0x3313)
     68          #define CCER_CC3P_Mask              ((u16)0x3133)
     69          #define CCER_CC4P_Mask              ((u16)0x1333)
     70          
     71          #define CCER_CC1E_Set               ((u16)0x0001)
     72          #define CCER_CC1E_Reset             ((u16)0x3332)
     73          #define CCER_CC1E_Mask              ((u16)0x3332)
     74          
     75          #define CCER_CC2E_Set               ((u16)0x0010)
     76          #define CCER_CC2E_Reset             ((u16)0x3323)
     77          #define CCER_CC2E_Mask              ((u16)0x3323)
     78          
     79          #define CCER_CC3E_Set               ((u16)0x0100)
     80          #define CCER_CC3E_Reset             ((u16)0x3233)
     81          #define CCER_CC3E_Mask              ((u16)0x3233)
     82          
     83          #define CCER_CC4E_Set               ((u16)0x1000)
     84          #define CCER_CC4E_Reset             ((u16)0x2333)
     85          #define CCER_CC4E_Mask              ((u16)0x2333)
     86          
     87          #define DCR_DMA_Mask                ((u16)0x0000)
     88          
     89          /* TIM private Masks */
     90          #define TIM_Period_Reset_Mask       ((u16)0x0000)
     91          #define TIM_Prescaler_Reset_Mask    ((u16)0x0000)
     92          #define TIM_Pulse_Reset_Mask        ((u16)0x0000)
     93          #define TIM_ICFilter_Mask           ((u8)0x00)
     94          
     95          /* Private macro -------------------------------------------------------------*/
     96          /* Private variables ---------------------------------------------------------*/

   \                                 In section .rodata, align 4
     97          static uc16 Tab_OCModeMask[4] = {0xFF00, 0x00FF, 0xFF00, 0x00FF};
   \                     Tab_OCModeMask:
   \   00000000   00FFFF0000FF       DC16 65280, 255, 65280, 255
   \              FF00        

   \                                 In section .rodata, align 4
     98          static uc16 Tab_PolarityMask[4] = {CCER_CC1P_Mask, CCER_CC2P_Mask, CCER_CC3P_Mask, CCER_CC4P_Mask};
   \                     Tab_PolarityMask:
   \   00000000   313313333331       DC16 13105, 13075, 12595, 4915
   \              3313        
     99          
    100          /* Private function prototypes -----------------------------------------------*/
    101          static void PWMI_Config(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
    102          static void TI1_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
    103                                 u8 TIM_ICFilter);
    104          static void TI2_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
    105                                 u8 TIM_ICFilter);
    106          static void TI3_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
    107                                 u8 TIM_ICFilter);
    108          static void TI4_Config(TIM_TypeDef* TIMx, u16 TIM_ICPolarity, u16 TIM_ICSelection,
    109                                 u8 TIM_ICFilter);
    110          /* Private functions ---------------------------------------------------------*/
    111          
    112          /*******************************************************************************
    113          * Function Name  : TIM_DeInit
    114          * Description    : Deinitializes the TIMx peripheral registers to their default
    115          *                  reset values.
    116          * Input          : - TIMx: where x can be 2, 3 or 4 to select the TIM peripheral.
    117          * Output         : None
    118          * Return         : None
    119          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    120          void TIM_DeInit(TIM_TypeDef* TIMx)
    121          {  
   \                     TIM_DeInit:
   \   00000000   10B5               PUSH     {R4,LR}
   \   00000002   0400               MOVS     R4,R0
    122            switch (*(u32*)&TIMx)
   \   00000004   2000               MOVS     R0,R4
   \   00000006   5FF08041           MOVS     R1,#+1073741824
   \   0000000A   401A               SUBS     R0,R0,R1
   \   0000000C   08D0               BEQ.N    ??TIM_DeInit_0
   \   0000000E   5FF48061           MOVS     R1,#+1024
   \   00000012   401A               SUBS     R0,R0,R1
   \   00000014   0DD0               BEQ.N    ??TIM_DeInit_1
   \   00000016   5FF48061           MOVS     R1,#+1024
   \   0000001A   401A               SUBS     R0,R0,R1
   \   0000001C   12D0               BEQ.N    ??TIM_DeInit_2
   \   0000001E   19E0               B.N      ??TIM_DeInit_3
    123            {
    124              case TIM2_BASE:
    125                RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE);
   \                     ??TIM_DeInit_0:
   \   00000020   0121               MOVS     R1,#+1
   \   00000022   0120               MOVS     R0,#+1
   \   00000024   ........           BL       RCC_APB1PeriphResetCmd
    126                RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE);
   \   00000028   0021               MOVS     R1,#+0
   \   0000002A   0120               MOVS     R0,#+1
   \   0000002C   ........           BL       RCC_APB1PeriphResetCmd
   \   00000030   10E0               B.N      ??TIM_DeInit_3
    127                break;
    128           
    129              case TIM3_BASE:
    130                RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE);
   \                     ??TIM_DeInit_1:
   \   00000032   0121               MOVS     R1,#+1
   \   00000034   0220               MOVS     R0,#+2
   \   00000036   ........           BL       RCC_APB1PeriphResetCmd
    131                RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE);
   \   0000003A   0021               MOVS     R1,#+0
   \   0000003C   0220               MOVS     R0,#+2
   \   0000003E   ........           BL       RCC_APB1PeriphResetCmd
   \   00000042   07E0               B.N      ??TIM_DeInit_3
    132                break;
    133           
    134              case TIM4_BASE:
    135                RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE);
   \                     ??TIM_DeInit_2:
   \   00000044   0121               MOVS     R1,#+1
   \   00000046   0420               MOVS     R0,#+4
   \   00000048   ........           BL       RCC_APB1PeriphResetCmd
    136                RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE);
   \   0000004C   0021               MOVS     R1,#+0
   \   0000004E   0420               MOVS     R0,#+4
   \   00000050   ........           BL       RCC_APB1PeriphResetCmd
    137                break;
    138           
    139              default:
    140                break;
    141            }
    142          }
   \                     ??TIM_DeInit_3:
   \   00000054   10BD               POP      {R4,PC}          ;; return
    143          
    144          /*******************************************************************************
    145          * Function Name  : TIM_TimeBaseInit

⌨️ 快捷键说明

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