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

📄 stm32f10x_usart.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
###############################################################################
#                                                                             #
# IAR ANSI C/C++ Compiler V6.10.2.52244/W32 for ARM     07/Aug/2011  12:10:41 #
# Copyright 1999-2010 IAR Systems AB.                                         #
#                                                                             #
#    Cpu mode     =  thumb                                                    #
#    Endian       =  little                                                   #
#    Source file  =  F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
#                    x_StdPeriph_Driver\src\stm32f10x_usart.c                 #
#    Command line =  F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
#                    x_StdPeriph_Driver\src\stm32f10x_usart.c -D              #
#                    USE_STDPERIPH_DRIVER -D STM32F10X_CL -lCN                #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
#                    t\ -o F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Fla #
#                    sh\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                              #
#                    D:\arm\INC\c\DLib_Config_Normal.h -I                     #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\APP\ -I   #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\   #
#                    -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP #
#                    \ST\CMSIS\CM3\CoreSupport\ -I                            #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
#                    \CMSIS\CM3\DeviceSupport\ST\STM32F10x\ -I                #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
#                    \STM32F10x_StdPeriph_Driver\inc\ -I                      #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\uC #
#                    OS-II\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II #
#                    \..\..\uCOS-II\Ports\ARM-Cortex-M3\Generic\IAR\ -I       #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uCO #
#                    S-II\Source\ -I F:\stm32\我的程序\Micrium\Software\EWARM #
#                    \OS-II\..\..\uC-LIB\ -I F:\stm32\我的程序\Micrium\Softwa #
#                    re\EWARM\OS-II\..\..\uC-LIB\Ports\ARM-Cortex-M3\IAR\ -I  #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uC- #
#                    CPU\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\. #
#                    .\..\uC-CPU\ARM-Cortex-M3\IAR\ -On --use_c++_inline      #
#    List file    =  F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
#                    t\stm32f10x_usart.lst                                    #
#    Object file  =  F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Obj #
#                    \stm32f10x_usart.o                                       #
#                                                                             #
#                                                                             #
###############################################################################

F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c
      1          /**
      2            ******************************************************************************
      3            * @file    stm32f10x_usart.c
      4            * @author  MCD Application Team
      5            * @version V3.4.0
      6            * @date    10/15/2010
      7            * @brief   This file provides all the USART firmware functions.
      8            ******************************************************************************
      9            * @copy
     10            *
     11            * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
     12            * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
     13            * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
     14            * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
     15            * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
     16            * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     17            *
     18            * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>
     19            */ 
     20          
     21          /* Includes ------------------------------------------------------------------*/
     22          #include "stm32f10x_usart.h"
     23          #include "stm32f10x_rcc.h"
     24          
     25          /** @addtogroup STM32F10x_StdPeriph_Driver
     26            * @{
     27            */
     28          
     29          /** @defgroup USART 
     30            * @brief USART driver modules
     31            * @{
     32            */
     33          
     34          /** @defgroup USART_Private_TypesDefinitions
     35            * @{
     36            */
     37          
     38          /**
     39            * @}
     40            */
     41          
     42          /** @defgroup USART_Private_Defines
     43            * @{
     44            */
     45          
     46          #define CR1_UE_Set                ((uint16_t)0x2000)  /*!< USART Enable Mask */
     47          #define CR1_UE_Reset              ((uint16_t)0xDFFF)  /*!< USART Disable Mask */
     48          
     49          #define CR1_WAKE_Mask             ((uint16_t)0xF7FF)  /*!< USART WakeUp Method Mask */
     50          
     51          #define CR1_RWU_Set               ((uint16_t)0x0002)  /*!< USART mute mode Enable Mask */
     52          #define CR1_RWU_Reset             ((uint16_t)0xFFFD)  /*!< USART mute mode Enable Mask */
     53          #define CR1_SBK_Set               ((uint16_t)0x0001)  /*!< USART Break Character send Mask */
     54          #define CR1_CLEAR_Mask            ((uint16_t)0xE9F3)  /*!< USART CR1 Mask */
     55          #define CR2_Address_Mask          ((uint16_t)0xFFF0)  /*!< USART address Mask */
     56          
     57          #define CR2_LINEN_Set              ((uint16_t)0x4000)  /*!< USART LIN Enable Mask */
     58          #define CR2_LINEN_Reset            ((uint16_t)0xBFFF)  /*!< USART LIN Disable Mask */
     59          
     60          #define CR2_LBDL_Mask             ((uint16_t)0xFFDF)  /*!< USART LIN Break detection Mask */
     61          #define CR2_STOP_CLEAR_Mask       ((uint16_t)0xCFFF)  /*!< USART CR2 STOP Bits Mask */
     62          #define CR2_CLOCK_CLEAR_Mask      ((uint16_t)0xF0FF)  /*!< USART CR2 Clock Mask */
     63          
     64          #define CR3_SCEN_Set              ((uint16_t)0x0020)  /*!< USART SC Enable Mask */
     65          #define CR3_SCEN_Reset            ((uint16_t)0xFFDF)  /*!< USART SC Disable Mask */
     66          
     67          #define CR3_NACK_Set              ((uint16_t)0x0010)  /*!< USART SC NACK Enable Mask */
     68          #define CR3_NACK_Reset            ((uint16_t)0xFFEF)  /*!< USART SC NACK Disable Mask */
     69          
     70          #define CR3_HDSEL_Set             ((uint16_t)0x0008)  /*!< USART Half-Duplex Enable Mask */
     71          #define CR3_HDSEL_Reset           ((uint16_t)0xFFF7)  /*!< USART Half-Duplex Disable Mask */
     72          
     73          #define CR3_IRLP_Mask             ((uint16_t)0xFFFB)  /*!< USART IrDA LowPower mode Mask */
     74          #define CR3_CLEAR_Mask            ((uint16_t)0xFCFF)  /*!< USART CR3 Mask */
     75          
     76          #define CR3_IREN_Set              ((uint16_t)0x0002)  /*!< USART IrDA Enable Mask */
     77          #define CR3_IREN_Reset            ((uint16_t)0xFFFD)  /*!< USART IrDA Disable Mask */
     78          #define GTPR_LSB_Mask             ((uint16_t)0x00FF)  /*!< Guard Time Register LSB Mask */
     79          #define GTPR_MSB_Mask             ((uint16_t)0xFF00)  /*!< Guard Time Register MSB Mask */
     80          #define IT_Mask                   ((uint16_t)0x001F)  /*!< USART Interrupt Mask */
     81          
     82          /* USART OverSampling-8 Mask */
     83          #define CR1_OVER8_Set             ((u16)0x8000)  /* USART OVER8 mode Enable Mask */
     84          #define CR1_OVER8_Reset           ((u16)0x7FFF)  /* USART OVER8 mode Disable Mask */
     85          
     86          /* USART One Bit Sampling Mask */
     87          #define CR3_ONEBITE_Set           ((u16)0x0800)  /* USART ONEBITE mode Enable Mask */
     88          #define CR3_ONEBITE_Reset         ((u16)0xF7FF)  /* USART ONEBITE mode Disable Mask */
     89          
     90          /**
     91            * @}
     92            */
     93          
     94          /** @defgroup USART_Private_Macros
     95            * @{
     96            */
     97          
     98          /**
     99            * @}
    100            */
    101          
    102          /** @defgroup USART_Private_Variables
    103            * @{
    104            */
    105          
    106          /**
    107            * @}
    108            */
    109          
    110          /** @defgroup USART_Private_FunctionPrototypes
    111            * @{
    112            */
    113          
    114          /**
    115            * @}
    116            */
    117          
    118          /** @defgroup USART_Private_Functions
    119            * @{
    120            */
    121          
    122          /**
    123            * @brief  Deinitializes the USARTx peripheral registers to their default reset values.
    124            * @param  USARTx: Select the USART or the UART peripheral. 
    125            *   This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
    126            * @retval None
    127            */

   \                                 In section .text, align 2, keep-with-next
    128          void USART_DeInit(USART_TypeDef* USARTx)
    129          {
   \                     USART_DeInit:
   \   00000000   10B5               PUSH     {R4,LR}
   \   00000002   0400               MOVS     R4,R0
    130            /* Check the parameters */
    131            assert_param(IS_USART_ALL_PERIPH(USARTx));
    132          
    133            if (USARTx == USART1)
   \   00000004   ....               LDR.N    R0,??DataTable1  ;; 0x40013800
   \   00000006   8442               CMP      R4,R0
   \   00000008   0AD1               BNE.N    ??USART_DeInit_0
    134            {
    135              RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);
   \   0000000A   0121               MOVS     R1,#+1
   \   0000000C   4FF48040           MOV      R0,#+16384
   \   00000010   ........           BL       RCC_APB2PeriphResetCmd
    136              RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE);
   \   00000014   0021               MOVS     R1,#+0
   \   00000016   4FF48040           MOV      R0,#+16384
   \   0000001A   ........           BL       RCC_APB2PeriphResetCmd
   \   0000001E   36E0               B.N      ??USART_DeInit_1
    137            }
    138            else if (USARTx == USART2)
   \                     ??USART_DeInit_0:
   \   00000020   ....               LDR.N    R0,??DataTable1_1  ;; 0x40004400
   \   00000022   8442               CMP      R4,R0
   \   00000024   0AD1               BNE.N    ??USART_DeInit_2
    139            {
    140              RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, ENABLE);
   \   00000026   0121               MOVS     R1,#+1
   \   00000028   5FF40030           MOVS     R0,#+131072
   \   0000002C   ........           BL       RCC_APB1PeriphResetCmd
    141              RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, DISABLE);
   \   00000030   0021               MOVS     R1,#+0
   \   00000032   5FF40030           MOVS     R0,#+131072
   \   00000036   ........           BL       RCC_APB1PeriphResetCmd
   \   0000003A   28E0               B.N      ??USART_DeInit_1
    142            }
    143            else if (USARTx == USART3)
   \                     ??USART_DeInit_2:
   \   0000003C   ....               LDR.N    R0,??DataTable1_2  ;; 0x40004800
   \   0000003E   8442               CMP      R4,R0
   \   00000040   0AD1               BNE.N    ??USART_DeInit_3
    144            {
    145              RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, ENABLE);
   \   00000042   0121               MOVS     R1,#+1
   \   00000044   5FF48020           MOVS     R0,#+262144
   \   00000048   ........           BL       RCC_APB1PeriphResetCmd
    146              RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, DISABLE);
   \   0000004C   0021               MOVS     R1,#+0
   \   0000004E   5FF48020           MOVS     R0,#+262144
   \   00000052   ........           BL       RCC_APB1PeriphResetCmd
   \   00000056   1AE0               B.N      ??USART_DeInit_1
    147            }    
    148            else if (USARTx == UART4)
   \                     ??USART_DeInit_3:
   \   00000058   ....               LDR.N    R0,??DataTable1_3  ;; 0x40004c00
   \   0000005A   8442               CMP      R4,R0
   \   0000005C   0AD1               BNE.N    ??USART_DeInit_4

⌨️ 快捷键说明

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