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

📄 stm32f10x_usart.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART     26/Dec/2008  18:22:09 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_u #
#                       sart.c                                               #
#    Command line    =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_u #
#                       sart.c -lCN F:\PROJECT\STM32_UCOSII\EvalBoards\ST\ST #
#                       M3210E-EVAL\IAR\OS-Probe\Flash\List\ -o              #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       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 "E:\Program Files\IAR       #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl7mptnnl8n.h" -I                  #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ #
#                       ST\STM3210E-EVAL\IAR\OS-Probe\..\BSP\ -I             #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\CPU\ST\STM32\inc\ -I     #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-CPU\ -I               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-CPU\ARM-Cortex-M3\IAR #
#                       \ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E- #
#                       EVAL\IAR\OS-Probe\..\..\..\..\..\uC-LCD\Source\ -I   #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-LIB\ -I               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uCOS-II\Ports\ARM-Cortex #
#                       -M3\Generic\IAR\ -I F:\PROJECT\STM32_UCOSII\EvalBoar #
#                       ds\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uCOS #
#                       -II\Source\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST #
#                       \STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uC-Probe\ #
#                       Target\Communication\Generic\RS-232\Source\ -I       #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
#                       ation\Generic\RS-232\Ports\ST\STM32\ -I              #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
#                       ation\Generic\Source\ -I F:\PROJECT\STM32_UCOSII\Eva #
#                       lBoards\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\.. #
#                       \uC-Probe\Target\Plugins\uCOS-II\ -I "E:\Program     #
#                       Files\IAR Systems\Embedded Workbench 4.0             #
#                       Kickstart\arm\INC\"                                  #
#    List file       =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\List\stm32f10x_usart.lst          #
#    Object file     =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\Obj\stm32f10x_usart.r79           #
#                                                                            #
#                                                                            #
##############################################################################

F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_usart.c
      1          /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
      2          * File Name          : stm32f10x_usart.c
      3          * Author             : MCD Application Team
      4          * Version            : V2.0
      5          * Date               : 05/23/2008
      6          * Description        : This file provides all the USART firmware functions.
      7          ********************************************************************************
      8          * THE PRESENT FIRMWARE 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          * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED 
     15          * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
     16          *******************************************************************************/
     17          
     18          /* Includes ------------------------------------------------------------------*/
     19          #include "stm32f10x_usart.h"
     20          #include "stm32f10x_rcc.h"
     21          
     22          /* Private typedef -----------------------------------------------------------*/
     23          /* Private define ------------------------------------------------------------*/
     24          /* USART UE Mask */
     25          #define CR1_UE_Set                ((u16)0x2000)  /* USART Enable Mask */
     26          #define CR1_UE_Reset              ((u16)0xDFFF)  /* USART Disable Mask */
     27          
     28          /* USART WakeUp Method  */
     29          #define CR1_WAKE_Mask             ((u16)0xF7FF)  /* USART WakeUp Method Mask */
     30          
     31          /* USART RWU Mask */
     32          #define CR1_RWU_Set               ((u16)0x0002)  /* USART mute mode Enable Mask */
     33          #define CR1_RWU_Reset             ((u16)0xFFFD)  /* USART mute mode Enable Mask */
     34          
     35          #define CR1_SBK_Set               ((u16)0x0001)  /* USART Break Character send Mask */
     36          
     37          #define CR1_CLEAR_Mask            ((u16)0xE9F3)  /* USART CR1 Mask */
     38          
     39          #define CR2_Address_Mask          ((u16)0xFFF0)  /* USART address Mask */
     40          
     41          /* USART LIN Mask */
     42          #define CR2_LINEN_Set              ((u16)0x4000)  /* USART LIN Enable Mask */
     43          #define CR2_LINEN_Reset            ((u16)0xBFFF)  /* USART LIN Disable Mask */
     44          
     45          /* USART LIN Break detection */
     46          #define CR2_LBDL_Mask             ((u16)0xFFDF)  /* USART LIN Break detection Mask */
     47          
     48          #define CR2_STOP_CLEAR_Mask       ((u16)0xCFFF)  /* USART CR2 STOP Bits Mask */
     49          #define CR2_CLOCK_CLEAR_Mask      ((u16)0xF0FF)  /* USART CR2 Clock Mask */
     50          
     51          /* USART SC Mask */
     52          #define CR3_SCEN_Set              ((u16)0x0020)  /* USART SC Enable Mask */
     53          #define CR3_SCEN_Reset            ((u16)0xFFDF)  /* USART SC Disable Mask */
     54          
     55          /* USART SC NACK Mask */
     56          #define CR3_NACK_Set              ((u16)0x0010)  /* USART SC NACK Enable Mask */
     57          #define CR3_NACK_Reset            ((u16)0xFFEF)  /* USART SC NACK Disable Mask */
     58          
     59          /* USART Half-Duplex Mask */
     60          #define CR3_HDSEL_Set             ((u16)0x0008)  /* USART Half-Duplex Enable Mask */
     61          #define CR3_HDSEL_Reset           ((u16)0xFFF7)  /* USART Half-Duplex Disable Mask */
     62          
     63          /* USART IrDA Mask */
     64          #define CR3_IRLP_Mask             ((u16)0xFFFB)  /* USART IrDA LowPower mode Mask */
     65          
     66          #define CR3_CLEAR_Mask            ((u16)0xFCFF)  /* USART CR3 Mask */
     67          
     68          /* USART IrDA Mask */
     69          #define CR3_IREN_Set              ((u16)0x0002)  /* USART IrDA Enable Mask */
     70          #define CR3_IREN_Reset            ((u16)0xFFFD)  /* USART IrDA Disable Mask */
     71          
     72          #define GTPR_LSB_Mask             ((u16)0x00FF)  /* Guard Time Register LSB Mask */
     73          #define GTPR_MSB_Mask             ((u16)0xFF00)  /* Guard Time Register MSB Mask */
     74          
     75          #define IT_Mask                   ((u16)0x001F)  /* USART Interrupt Mask */
     76          
     77          /* Private macro -------------------------------------------------------------*/
     78          /* Private variables ---------------------------------------------------------*/
     79          /* Private function prototypes -----------------------------------------------*/
     80          /* Private functions ---------------------------------------------------------*/
     81          
     82          /*******************************************************************************
     83          * Function Name  : USART_DeInit
     84          * Description    : Deinitializes the USARTx peripheral registers to their
     85          *                  default reset values.
     86          * Input          : - USARTx: Select the USART or the UART peripheral. 
     87          *                    This parameter can be one of the following values:
     88          *                     - USART1, USART2, USART3, UART4 or UART5.
     89          * Output         : None
     90          * Return         : None
     91          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     92          void USART_DeInit(USART_TypeDef* USARTx)
     93          {
   \                     USART_DeInit:
   \   00000000   00B5               PUSH     {LR}
     94            /* Check the parameters */
     95            assert_param(IS_USART_ALL_PERIPH(USARTx));
     96          
     97            switch (*(u32*)&USARTx)
   \   00000002   2049               LDR.N    R1,??USART_DeInit_0  ;; 0x40004400
   \   00000004   8842               CMP      R0,R1
   \   00000006   15D0               BEQ.N    ??USART_DeInit_1
   \   00000008   1F49               LDR.N    R1,??USART_DeInit_0+0x4  ;; 0x40004800
   \   0000000A   8842               CMP      R0,R1
   \   0000000C   1CD0               BEQ.N    ??USART_DeInit_2
   \   0000000E   1F49               LDR.N    R1,??USART_DeInit_0+0x8  ;; 0x40004c00
   \   00000010   8842               CMP      R0,R1
   \   00000012   23D0               BEQ.N    ??USART_DeInit_3
   \   00000014   1E49               LDR.N    R1,??USART_DeInit_0+0xC  ;; 0x40005000
   \   00000016   8842               CMP      R0,R1
   \   00000018   2AD0               BEQ.N    ??USART_DeInit_4
   \   0000001A   ....               LDR.N    R1,??DataTable1  ;; 0x40013800
   \   0000001C   8842               CMP      R0,R1
   \   0000001E   30D1               BNE.N    ??USART_DeInit_5
     98            {
     99              case USART1_BASE:
    100                RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);
   \   00000020   0121               MOVS     R1,#+1
   \   00000022   8803               LSLS     R0,R1,#+14
   \   00000024   ........           _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
    101                RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE);
   \   00000028   0021               MOVS     R1,#+0
   \   0000002A   5FF48040           MOVS     R0,#+16384
   \   0000002E   ........           _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
   \   00000032   00BD               POP      {PC}
    102                break;
    103          
    104              case USART2_BASE:
    105                RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, ENABLE);
   \                     ??USART_DeInit_1:
   \   00000034   0121               MOVS     R1,#+1
   \   00000036   4804               LSLS     R0,R1,#+17
   \   00000038   ........           _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
    106                RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, DISABLE);
   \   0000003C   0021               MOVS     R1,#+0
   \   0000003E   5FF40030           MOVS     R0,#+131072
   \   00000042   ........           _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
   \   00000046   00BD               POP      {PC}
    107                break;
    108          
    109              case USART3_BASE:
    110                RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, ENABLE);
   \                     ??USART_DeInit_2:
   \   00000048   0121               MOVS     R1,#+1
   \   0000004A   8804               LSLS     R0,R1,#+18
   \   0000004C   ........           _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
    111                RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, DISABLE);
   \   00000050   0021               MOVS     R1,#+0
   \   00000052   5FF48020           MOVS     R0,#+262144
   \   00000056   ........           _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
   \   0000005A   00BD               POP      {PC}
    112                break;
    113              
    114              case UART4_BASE:
    115                RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, ENABLE);

⌨️ 快捷键说明

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