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

📄 stm32f10x_adc.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART     13/Mar/2009  16:01:08 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\UC_OS\Micrium\Software\CPU\ST\STM32\src\stm32f10x #
#                       _adc.c                                               #
#    Command line    =  E:\UC_OS\Micrium\Software\CPU\ST\STM32\src\stm32f10x #
#                       _adc.c -lCN E:\UC_OS\Micrium\Software\EvalBoards\ST\ #
#                       STM3210B-EVAL\IAR\OS-Probe\Flash\List\ -o            #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\Obj\ -z6 --no_unroll            #
#                       --no_inline --no_tbaa --no_scheduling --debug        #
#                       --cpu_mode thumb --endian little --cpu cortex-M3     #
#                       --stack_align 4 -e --fpu None --dlib_config          #
#                       "C:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\LIB\dl7mptnnl8n.h" -I              #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\ -I E:\UC_OS\Micrium\Software\EvalBoa #
#                       rds\ST\STM3210B-EVAL\IAR\OS-Probe\..\..\..\..\..\uco #
#                       s-ii\ports\arm-cortex-m3\generic\iar\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\ucos-ii\source\ -I     #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-lib\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ARM-Cortex-M3\I #
#                       AR\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM32 #
#                       10B-EVAL\IAR\OS-Probe\..\..\..\..\..\cpu\st\stm32\in #
#                       c\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM321 #
#                       0B-EVAL\IAR\OS-Probe\..\BSP\ -I                      #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\RS-232\Source\ -I                    #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\RS-232\Ports\ST\STM32\ -I            #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\Source\ -I                           #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Plugin #
#                       s\uCOS-II\ -I "C:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0 Kickstart\arm\INC\"   #
#    List file       =  E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\List\stm32f10x_adc.lst          #
#    Object file     =  E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\Obj\stm32f10x_adc.r79           #
#                                                                            #
#                                                                            #
##############################################################################

E:\UC_OS\Micrium\Software\CPU\ST\STM32\src\stm32f10x_adc.c
      1          /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
      2          * File Name          : stm32f10x_adc.c
      3          * Author             : MCD Application Team
      4          * Date First Issued  : 09/29/2006
      5          * Description        : This file provides all the ADC 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_adc.h"
     23          #include "stm32f10x_rcc.h"
     24          
     25          /* Private typedef -----------------------------------------------------------*/
     26          /* Private define ------------------------------------------------------------*/
     27          /* ADC ADON mask */
     28          #define CR2_ADON_Set               ((u32)0x00000001)
     29          #define CR2_ADON_Reset             ((u32)0xFFFFFFFE)
     30          
     31          /* ADC DMA mask */
     32          #define CR2_DMA_Set                ((u16)0x0100)
     33          #define CR2_DMA_Reset              ((u16)0xFEFF)
     34          
     35          /* ADC RSTCAL mask */
     36          #define CR2_RSTCAL_Set             ((u16)0x0008)
     37          
     38          /* ADC CAL mask */
     39          #define CR2_CAL_Set                ((u16)0x0004)
     40          
     41          /* ADC SWSTRT mask */
     42          #define CR2_SWSTRT_Set             ((u32)0x00400000)
     43          
     44          /* ADC DISCNUM mask */
     45          #define CR1_DISCNUM_Reset          ((u32)0xFFFF1FFF)
     46          
     47          /* ADC DISCEN mask */
     48          #define CR1_DISCEN_Set             ((u32)0x00000800)
     49          #define CR1_DISCEN_Reset           ((u32)0xFFFFF7FF)
     50          
     51          /* ADC EXTTRIG mask */
     52          #define CR2_EXTTRIG_Set            ((u32)0x00100000)
     53          #define CR2_EXTTRIG_Reset          ((u32)0xFFEFFFFF)
     54          
     55          /* ADC Software start mask */
     56          #define CR2_EXTTRIG_SWSTRT_Set     ((u32)0x00500000)
     57          #define CR2_EXTTRIG_SWSTRT_Reset   ((u32)0xFFAFFFFF)
     58          
     59          /* ADC JAUTO mask */
     60          #define CR1_JAUTO_Set              ((u32)0x00000400)
     61          #define CR1_JAUTO_Reset            ((u32)0xFFFFFBFF)
     62          
     63          /* ADC JDISCEN mask */
     64          #define CR1_JDISCEN_Set            ((u32)0x00001000)
     65          #define CR1_JDISCEN_Reset          ((u32)0xFFFFEFFF)
     66          
     67          /* ADC JEXTSEL mask */
     68          #define CR2_JEXTSEL_Reset          ((u32)0xFFFF8FFF)
     69          
     70          /* ADC JEXTTRIG mask */
     71          #define CR2_JEXTTRIG_Set           ((u32)0x00008000)
     72          #define CR2_JEXTTRIG_Reset         ((u32)0xFFFF7FFF)
     73          
     74          /* ADC JSWSTRT mask */
     75          #define CR2_JSWSTRT_Set            ((u32)0x00200000)
     76          
     77          /* ADC injected software start mask */
     78          #define CR2_JEXTTRIG_JSWSTRT_Set   ((u32)0x00208000)
     79          #define CR2_JEXTTRIG_JSWSTRT_Reset ((u32)0xFFDF7FFF)
     80          
     81          /* ADC AWDCH mask */
     82          #define CR1_AWDCH_Reset            ((u32)0xFFFFFFE0)
     83          
     84          /* ADC SQx mask */
     85          #define SQR3_SQ_Set                ((u8)0x1F)
     86          #define SQR2_SQ_Set                ((u8)0x1F)
     87          #define SQR1_SQ_Set                ((u8)0x1F)
     88          
     89          /* ADC JSQx mask */
     90          #define JSQR_JSQ_Set               ((u8)0x1F)
     91          
     92          /* ADC JL mask */
     93          #define JSQR_JL_Reset              ((u32)0xFFCFFFFF)
     94          
     95          /* ADC SMPx mask */
     96          #define SMPR1_SMP_Set              ((u8)0x07)
     97          #define SMPR2_SMP_Set              ((u8)0x07)
     98          
     99          /* ADC Analog watchdog enable mode mask */
    100          #define CR1_AWDMode_Reset          ((u32)0xFF3FFDFF)
    101          
    102          /* ADC TSPD mask */
    103          #define CR2_TSVREFE_Set            ((u32)0x00800000)
    104          #define CR2_TSVREFE_Reset          ((u32)0xFF7FFFFF)
    105          
    106          /* ADC JDRx registers= offset */
    107          #define JDR_Offset                 ((u8)0x28)
    108          
    109          /* ADC registers Masks */
    110          #define CR1_CLEAR_Mask             ((u32)0xFFF0FEFF)
    111          #define CR2_CLEAR_Mask             ((u32)0xFFF1F7FD)
    112          #define SQR1_CLEAR_Mask            ((u32)0xFF0FFFFF)
    113          
    114          /* Private macro -------------------------------------------------------------*/
    115          /* Private variables ---------------------------------------------------------*/
    116          /* Private function prototypes -----------------------------------------------*/
    117          /* Private functions ---------------------------------------------------------*/
    118          
    119          /*******************************************************************************
    120          * Function Name  : ADC_DeInit
    121          * Description    : Deinitializes the ADCx peripheral registers to their default
    122          *                  reset values.
    123          * Input          : - ADCx: where x can be 1 or 2 to select the ADC peripheral.
    124          * Output         : None
    125          * Return         : None
    126          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    127          void ADC_DeInit(ADC_TypeDef* ADCx)
    128          {
   \                     ADC_DeInit:
   \   00000000   00B5               PUSH     {LR}
    129            switch (*(u32*)&ADCx)
   \   00000002   0D49               LDR.N    R1,??ADC_DeInit_0  ;; 0x40012400
   \   00000004   8842               CMP      R0,R1
   \   00000006   03D0               BEQ.N    ??ADC_DeInit_1
   \   00000008   0C49               LDR.N    R1,??ADC_DeInit_0+0x4  ;; 0x40012800
   \   0000000A   8842               CMP      R0,R1
   \   0000000C   0AD0               BEQ.N    ??ADC_DeInit_2
   \   0000000E   00BD               POP      {PC}
    130            {
    131              case ADC1_BASE:
    132                /* Enable ADC1 reset state */
    133                RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1, ENABLE);
   \                     ??ADC_DeInit_1:
   \   00000010   0121               MOVS     R1,#+1
   \   00000012   4802               LSLS     R0,R1,#+9
   \   00000014   ........           _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
    134                /* Release ADC1 from reset state */
    135                RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1, DISABLE);
   \   00000018   0021               MOVS     R1,#+0
   \   0000001A   5FF40070           MOVS     R0,#+512
   \   0000001E   ........           _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
   \   00000022   00BD               POP      {PC}
    136                break;
    137              
    138              case ADC2_BASE:
    139                /* Enable ADC2 reset state */
    140                RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2, ENABLE);
   \                     ??ADC_DeInit_2:
   \   00000024   0121               MOVS     R1,#+1
   \   00000026   8802               LSLS     R0,R1,#+10
   \   00000028   ........           _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
    141                /* Release ADC2 from reset state */
    142                RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2, DISABLE);
   \   0000002C   0021               MOVS     R1,#+0
   \   0000002E   5FF48060           MOVS     R0,#+1024
   \   00000032   ........           _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
    143                break;
    144          

⌨️ 快捷键说明

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