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

📄 stm32f10x_usart.s79

📁 用于监视I2C通信总线
💻 S79
📖 第 1 页 / 共 5 页
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION   10/Nov/2008  11:44:05 /
// Copyright 1999-2005 IAR Systems. All rights reserved.                     /
//                                                                           /
//    Cpu mode        =  thumb                                               /
//    Endian          =  little                                              /
//    Stack alignment =  4                                                   /
//    Source file     =  D:\资料\ST\ST\usb\FWLib\library\src\stm32f10x_usart /
//                       .c                                                  /
//    Command line    =  D:\资料\ST\ST\usb\FWLib\library\src\stm32f10x_usart /
//                       .c -D VECT_TAB_FLASH -D USE_STM3210E_EVAL -lA       /
//                       D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
//                       ject\EWARMv4\STM3210E-EVAL\List\ -o                 /
//                       D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
//                       ject\EWARMv4\STM3210E-EVAL\Obj\ -z9 --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                      /
//                       Evaluation\arm\LIB\dl7mptnnl8f.h" -I                /
//                       D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
//                       ject\EWARMv4\..\..\include\ -I                      /
//                       D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
//                       ject\EWARMv4\..\..\..\..\library\inc\ -I            /
//                       D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
//                       ject\EWARMv4\..\..\..\..\..\FWLib\library\inc\ -I   /
//                       "C:\Program Files\IAR Systems\Embedded Workbench    /
//                       4.0 Evaluation\arm\INC\" --inline_threshold=2       /
//    List file       =  D:\资料\ST\ST\usb\USBLib\demos\Virtual_COM_Port\pro /
//                       ject\EWARMv4\STM3210E-EVAL\List\stm32f10x_usart.s79 /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_usart

        RTMODEL "StackAlign4", "USED"
        RTMODEL "__cpu_mode", "__pcs__thumb"
        RTMODEL "__data_model", "absolute"
        RTMODEL "__endian", "little"
        RTMODEL "__rt_version", "6"

        RSEG CSTACK:DATA:NOROOT(2)

??DataTable0 EQU 0
??DataTable2 EQU 0
??DataTable3 EQU 0
        MULTWEAK ??RCC_APB1PeriphResetCmd??rT
        MULTWEAK ??RCC_APB2PeriphResetCmd??rT
        MULTWEAK ??RCC_GetClocksFreq??rT
        PUBLIC USART_ClearFlag
        FUNCTION USART_ClearFlag,0203H
        PUBLIC USART_ClearITPendingBit
        FUNCTION USART_ClearITPendingBit,0203H
        PUBLIC USART_ClockInit
        FUNCTION USART_ClockInit,0203H
        PUBLIC USART_ClockStructInit
        FUNCTION USART_ClockStructInit,0203H
        PUBLIC USART_Cmd
        FUNCTION USART_Cmd,0203H
        PUBLIC USART_DMACmd
        FUNCTION USART_DMACmd,0203H
        PUBLIC USART_DeInit
        FUNCTION USART_DeInit,0203H
        LOCFRAME CSTACK, 4, STACK
        PUBLIC USART_GetFlagStatus
        FUNCTION USART_GetFlagStatus,0203H
        LOCFRAME CSTACK, 4, STACK
        PUBLIC USART_GetITStatus
        FUNCTION USART_GetITStatus,0203H
        LOCFRAME CSTACK, 8, STACK
        PUBLIC USART_HalfDuplexCmd
        FUNCTION USART_HalfDuplexCmd,0203H
        PUBLIC USART_ITConfig
        FUNCTION USART_ITConfig,0203H
        LOCFRAME CSTACK, 8, STACK
        PUBLIC USART_Init
        FUNCTION USART_Init,0203H
        LOCFRAME CSTACK, 32, STACK
        PUBLIC USART_IrDACmd
        FUNCTION USART_IrDACmd,0203H
        PUBLIC USART_IrDAConfig
        FUNCTION USART_IrDAConfig,0203H
        PUBLIC USART_LINBreakDetectLengthConfig
        FUNCTION USART_LINBreakDetectLengthConfig,0203H
        PUBLIC USART_LINCmd
        FUNCTION USART_LINCmd,0203H
        PUBLIC USART_ReceiveData
        FUNCTION USART_ReceiveData,0203H
        PUBLIC USART_ReceiverWakeUpCmd
        FUNCTION USART_ReceiverWakeUpCmd,0203H
        PUBLIC USART_SendBreak
        FUNCTION USART_SendBreak,0203H
        PUBLIC USART_SendData
        FUNCTION USART_SendData,0203H
        PUBLIC USART_SetAddress
        FUNCTION USART_SetAddress,0203H
        PUBLIC USART_SetGuardTime
        FUNCTION USART_SetGuardTime,0203H
        PUBLIC USART_SetPrescaler
        FUNCTION USART_SetPrescaler,0203H
        PUBLIC USART_SmartCardCmd
        FUNCTION USART_SmartCardCmd,0203H
        PUBLIC USART_SmartCardNACKCmd
        FUNCTION USART_SmartCardNACKCmd,0203H
        PUBLIC USART_StructInit
        FUNCTION USART_StructInit,0203H
        PUBLIC USART_WakeUpConfig
        FUNCTION USART_WakeUpConfig,0203H
        
        CFI Names cfiNames0
        CFI StackFrame CFA R13 HUGEDATA
        CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
        CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, R13:32, R14:32
        CFI VirtualResource ?RET:32
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 2
        CFI DataAlign 4
        CFI ReturnAddress ?RET CODE
        CFI CFA R13+0
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI R14 Undefined
        CFI ?RET R14
        CFI EndCommon cfiCommon0
        
RCC_APB1PeriphResetCmd SYMBOL "RCC_APB1PeriphResetCmd"
RCC_APB2PeriphResetCmd SYMBOL "RCC_APB2PeriphResetCmd"
RCC_GetClocksFreq   SYMBOL "RCC_GetClocksFreq"
??RCC_APB1PeriphResetCmd??rT SYMBOL "??rT", RCC_APB1PeriphResetCmd
??RCC_APB2PeriphResetCmd??rT SYMBOL "??rT", RCC_APB2PeriphResetCmd
??RCC_GetClocksFreq??rT SYMBOL "??rT", RCC_GetClocksFreq

        EXTERN RCC_APB1PeriphResetCmd
        FUNCTION RCC_APB1PeriphResetCmd,0202H
        EXTERN RCC_APB2PeriphResetCmd
        FUNCTION RCC_APB2PeriphResetCmd,0202H
        EXTERN RCC_GetClocksFreq
        FUNCTION RCC_GetClocksFreq,0202H

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

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function USART_DeInit
        THUMB
//   90 void USART_DeInit(USART_TypeDef* USARTx)
//   91 {
//   92   /* Check the parameters */
//   93   assert_param(IS_USART_ALL_PERIPH(USARTx));
//   94 
//   95   switch (*(u32*)&USARTx)
USART_DeInit:
        LDR.N    R1,??USART_DeInit_0  ;; 0x40004400
        PUSH     {LR}
        CFI ?RET Frame(CFA, -4)
        CFI CFA R13+4
        CMP      R0,R1
        BEQ.N    ??USART_DeInit_1
        LDR.N    R1,??USART_DeInit_0+0x4  ;; 0x40004800
        CMP      R0,R1
        BEQ.N    ??USART_DeInit_2
        LDR.N    R1,??USART_DeInit_0+0x8  ;; 0x40004c00
        CMP      R0,R1
        BEQ.N    ??USART_DeInit_3
        LDR.N    R1,??USART_DeInit_0+0xC  ;; 0x40005000
        CMP      R0,R1
        BEQ.N    ??USART_DeInit_4
        LDR.N    R1,??DataTable1  ;; 0x40013800
        CMP      R0,R1
        BNE.N    ??USART_DeInit_5
//   96   {
//   97     case USART1_BASE:
//   98       RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);
        MOVS     R1,#+1
        LSLS     R0,R1,#+14
        _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
//   99       RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE);
        MOVS     R1,#+0
        MOVS     R0,#+16384
        _BLF     RCC_APB2PeriphResetCmd,??RCC_APB2PeriphResetCmd??rT
        POP      {PC}
//  100       break;
//  101 
//  102     case USART2_BASE:
//  103       RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, ENABLE);
??USART_DeInit_1:
        MOVS     R1,#+1
        LSLS     R0,R1,#+17
        _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
//  104       RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, DISABLE);
        MOVS     R1,#+0
        MOVS     R0,#+131072
        B.N      ??USART_DeInit_6
//  105       break;
//  106 
//  107     case USART3_BASE:
//  108       RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, ENABLE);
??USART_DeInit_2:
        MOVS     R1,#+1
        LSLS     R0,R1,#+18
        _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
//  109       RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, DISABLE);

⌨️ 快捷键说明

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