2277 lines
153 KiB
Plaintext
2277 lines
153 KiB
Plaintext
1 .syntax unified
|
||
2 .cpu cortex-m3
|
||
3 .fpu softvfp
|
||
4 .eabi_attribute 20, 1
|
||
5 .eabi_attribute 21, 1
|
||
6 .eabi_attribute 23, 3
|
||
7 .eabi_attribute 24, 1
|
||
8 .eabi_attribute 25, 1
|
||
9 .eabi_attribute 26, 1
|
||
10 .eabi_attribute 30, 1
|
||
11 .eabi_attribute 34, 1
|
||
12 .eabi_attribute 18, 4
|
||
13 .thumb
|
||
14 .file "stm32f10x_usart.c"
|
||
15 .text
|
||
16 .Ltext0:
|
||
17 .cfi_sections .debug_frame
|
||
18 .section .text.USART_DeInit,"ax",%progbits
|
||
19 .align 2
|
||
20 .global USART_DeInit
|
||
21 .thumb
|
||
22 .thumb_func
|
||
24 USART_DeInit:
|
||
25 .LFB29:
|
||
26 .file 1 "./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c"
|
||
1:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
2:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** ******************************************************************************
|
||
3:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @file stm32f10x_usart.c
|
||
4:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @author MCD Application Team
|
||
5:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @version V3.5.0
|
||
6:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @date 11-March-2011
|
||
7:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief This file provides all the USART firmware functions.
|
||
8:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** ******************************************************************************
|
||
9:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @attention
|
||
10:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *
|
||
11:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
||
12:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
||
13:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
||
14:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
||
15:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
||
16:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
||
17:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *
|
||
18:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
|
||
19:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** ******************************************************************************
|
||
20:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
21:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
22:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Includes ------------------------------------------------------------------*/
|
||
23:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #include "stm32f10x_usart.h"
|
||
24:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #include "stm32f10x_rcc.h"
|
||
25:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
26:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @addtogroup STM32F10x_StdPeriph_Driver
|
||
27:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
28:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
29:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
30:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @defgroup USART
|
||
31:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief USART driver modules
|
||
32:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
33:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
34:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
35:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @defgroup USART_Private_TypesDefinitions
|
||
36:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
37:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
38:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
39:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
40:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @}
|
||
41:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
42:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
43:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @defgroup USART_Private_Defines
|
||
44:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
45:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
46:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
47:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_UE_Set ((uint16_t)0x2000) /*!< USART Enable Mask */
|
||
48:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_UE_Reset ((uint16_t)0xDFFF) /*!< USART Disable Mask */
|
||
49:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
50:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_WAKE_Mask ((uint16_t)0xF7FF) /*!< USART WakeUp Method Mask */
|
||
51:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
52:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_RWU_Set ((uint16_t)0x0002) /*!< USART mute mode Enable Mask */
|
||
53:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_RWU_Reset ((uint16_t)0xFFFD) /*!< USART mute mode Enable Mask */
|
||
54:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_SBK_Set ((uint16_t)0x0001) /*!< USART Break Character send Mask */
|
||
55:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_CLEAR_Mask ((uint16_t)0xE9F3) /*!< USART CR1 Mask */
|
||
56:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR2_Address_Mask ((uint16_t)0xFFF0) /*!< USART address Mask */
|
||
57:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
58:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR2_LINEN_Set ((uint16_t)0x4000) /*!< USART LIN Enable Mask */
|
||
59:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR2_LINEN_Reset ((uint16_t)0xBFFF) /*!< USART LIN Disable Mask */
|
||
60:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
61:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR2_LBDL_Mask ((uint16_t)0xFFDF) /*!< USART LIN Break detection Mask */
|
||
62:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR2_STOP_CLEAR_Mask ((uint16_t)0xCFFF) /*!< USART CR2 STOP Bits Mask */
|
||
63:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR2_CLOCK_CLEAR_Mask ((uint16_t)0xF0FF) /*!< USART CR2 Clock Mask */
|
||
64:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
65:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_SCEN_Set ((uint16_t)0x0020) /*!< USART SC Enable Mask */
|
||
66:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_SCEN_Reset ((uint16_t)0xFFDF) /*!< USART SC Disable Mask */
|
||
67:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
68:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_NACK_Set ((uint16_t)0x0010) /*!< USART SC NACK Enable Mask */
|
||
69:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_NACK_Reset ((uint16_t)0xFFEF) /*!< USART SC NACK Disable Mask */
|
||
70:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
71:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_HDSEL_Set ((uint16_t)0x0008) /*!< USART Half-Duplex Enable Mask */
|
||
72:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_HDSEL_Reset ((uint16_t)0xFFF7) /*!< USART Half-Duplex Disable Mask */
|
||
73:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
74:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_IRLP_Mask ((uint16_t)0xFFFB) /*!< USART IrDA LowPower mode Mask */
|
||
75:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_CLEAR_Mask ((uint16_t)0xFCFF) /*!< USART CR3 Mask */
|
||
76:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
77:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_IREN_Set ((uint16_t)0x0002) /*!< USART IrDA Enable Mask */
|
||
78:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_IREN_Reset ((uint16_t)0xFFFD) /*!< USART IrDA Disable Mask */
|
||
79:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define GTPR_LSB_Mask ((uint16_t)0x00FF) /*!< Guard Time Register LSB Mask */
|
||
80:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define GTPR_MSB_Mask ((uint16_t)0xFF00) /*!< Guard Time Register MSB Mask */
|
||
81:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define IT_Mask ((uint16_t)0x001F) /*!< USART Interrupt Mask */
|
||
82:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
83:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* USART OverSampling-8 Mask */
|
||
84:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_OVER8_Set ((u16)0x8000) /* USART OVER8 mode Enable Mask */
|
||
85:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR1_OVER8_Reset ((u16)0x7FFF) /* USART OVER8 mode Disable Mask */
|
||
86:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
87:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* USART One Bit Sampling Mask */
|
||
88:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_ONEBITE_Set ((u16)0x0800) /* USART ONEBITE mode Enable Mask */
|
||
89:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** #define CR3_ONEBITE_Reset ((u16)0xF7FF) /* USART ONEBITE mode Disable Mask */
|
||
90:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
91:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
92:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @}
|
||
93:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
94:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
95:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @defgroup USART_Private_Macros
|
||
96:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
97:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
98:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
99:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
100:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @}
|
||
101:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
102:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
103:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @defgroup USART_Private_Variables
|
||
104:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
105:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
106:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
107:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
108:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @}
|
||
109:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
110:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
111:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @defgroup USART_Private_FunctionPrototypes
|
||
112:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
113:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
114:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
115:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
116:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @}
|
||
117:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
118:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
119:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /** @defgroup USART_Private_Functions
|
||
120:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @{
|
||
121:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
122:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
123:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
124:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Deinitializes the USARTx peripheral registers to their default reset values.
|
||
125:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
126:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
127:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
128:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
129:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
130:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_DeInit(USART_TypeDef* USARTx)
|
||
131:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
27 .loc 1 131 0
|
||
28 .cfi_startproc
|
||
29 @ args = 0, pretend = 0, frame = 0
|
||
30 @ frame_needed = 0, uses_anonymous_args = 0
|
||
31 .LVL0:
|
||
32 0000 08B5 push {r3, lr}
|
||
33 .cfi_def_cfa_offset 8
|
||
34 .cfi_offset 3, -8
|
||
35 .cfi_offset 14, -4
|
||
132:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
133:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
134:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
135:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (USARTx == USART1)
|
||
36 .loc 1 135 0
|
||
37 0002 234B ldr r3, .L8
|
||
38 0004 9842 cmp r0, r3
|
||
39 0006 0AD1 bne .L2
|
||
136:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
137:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE);
|
||
40 .loc 1 137 0
|
||
41 0008 4FF48040 mov r0, #16384
|
||
42 .LVL1:
|
||
43 000c 0121 movs r1, #1
|
||
44 000e FFF7FEFF bl RCC_APB2PeriphResetCmd
|
||
45 .LVL2:
|
||
138:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE);
|
||
46 .loc 1 138 0
|
||
47 0012 4FF48040 mov r0, #16384
|
||
48 0016 0021 movs r1, #0
|
||
49 0018 FFF7FEFF bl RCC_APB2PeriphResetCmd
|
||
50 .LVL3:
|
||
51 001c 08BD pop {r3, pc}
|
||
52 .LVL4:
|
||
53 .L2:
|
||
139:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
140:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else if (USARTx == USART2)
|
||
54 .loc 1 140 0
|
||
55 001e 1D4B ldr r3, .L8+4
|
||
56 0020 9842 cmp r0, r3
|
||
57 0022 0AD1 bne .L4
|
||
141:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
142:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, ENABLE);
|
||
58 .loc 1 142 0
|
||
59 0024 4FF40030 mov r0, #131072
|
||
60 .LVL5:
|
||
61 0028 0121 movs r1, #1
|
||
62 002a FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
63 .LVL6:
|
||
143:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, DISABLE);
|
||
64 .loc 1 143 0
|
||
65 002e 4FF40030 mov r0, #131072
|
||
66 0032 0021 movs r1, #0
|
||
67 0034 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
68 .LVL7:
|
||
69 0038 08BD pop {r3, pc}
|
||
70 .LVL8:
|
||
71 .L4:
|
||
144:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
145:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else if (USARTx == USART3)
|
||
72 .loc 1 145 0
|
||
73 003a 174B ldr r3, .L8+8
|
||
74 003c 9842 cmp r0, r3
|
||
75 003e 0AD1 bne .L5
|
||
146:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
147:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, ENABLE);
|
||
76 .loc 1 147 0
|
||
77 0040 4FF48020 mov r0, #262144
|
||
78 .LVL9:
|
||
79 0044 0121 movs r1, #1
|
||
80 0046 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
81 .LVL10:
|
||
148:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, DISABLE);
|
||
82 .loc 1 148 0
|
||
83 004a 4FF48020 mov r0, #262144
|
||
84 004e 0021 movs r1, #0
|
||
85 0050 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
86 .LVL11:
|
||
87 0054 08BD pop {r3, pc}
|
||
88 .LVL12:
|
||
89 .L5:
|
||
149:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
150:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else if (USARTx == UART4)
|
||
90 .loc 1 150 0
|
||
91 0056 114B ldr r3, .L8+12
|
||
92 0058 9842 cmp r0, r3
|
||
93 005a 0AD1 bne .L6
|
||
151:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
152:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, ENABLE);
|
||
94 .loc 1 152 0
|
||
95 005c 4FF40020 mov r0, #524288
|
||
96 .LVL13:
|
||
97 0060 0121 movs r1, #1
|
||
98 0062 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
99 .LVL14:
|
||
153:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, DISABLE);
|
||
100 .loc 1 153 0
|
||
101 0066 4FF40020 mov r0, #524288
|
||
102 006a 0021 movs r1, #0
|
||
103 006c FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
104 .LVL15:
|
||
105 0070 08BD pop {r3, pc}
|
||
106 .LVL16:
|
||
107 .L6:
|
||
154:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
155:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
156:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
157:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (USARTx == UART5)
|
||
108 .loc 1 157 0
|
||
109 0072 0B4B ldr r3, .L8+16
|
||
110 0074 9842 cmp r0, r3
|
||
111 0076 09D1 bne .L1
|
||
158:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
159:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, ENABLE);
|
||
112 .loc 1 159 0
|
||
113 0078 4FF48010 mov r0, #1048576
|
||
114 .LVL17:
|
||
115 007c 0121 movs r1, #1
|
||
116 007e FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
117 .LVL18:
|
||
160:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, DISABLE);
|
||
118 .loc 1 160 0
|
||
119 0082 4FF48010 mov r0, #1048576
|
||
120 0086 0021 movs r1, #0
|
||
121 0088 FFF7FEFF bl RCC_APB1PeriphResetCmd
|
||
122 .LVL19:
|
||
123 .L1:
|
||
124 008c 08BD pop {r3, pc}
|
||
125 .L9:
|
||
126 008e 00BF .align 2
|
||
127 .L8:
|
||
128 0090 00380140 .word 1073821696
|
||
129 0094 00440040 .word 1073759232
|
||
130 0098 00480040 .word 1073760256
|
||
131 009c 004C0040 .word 1073761280
|
||
132 00a0 00500040 .word 1073762304
|
||
133 .cfi_endproc
|
||
134 .LFE29:
|
||
136 .section .text.USART_Init,"ax",%progbits
|
||
137 .align 2
|
||
138 .global USART_Init
|
||
139 .thumb
|
||
140 .thumb_func
|
||
142 USART_Init:
|
||
143 .LFB30:
|
||
161:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
162:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
163:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
164:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
165:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
166:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Initializes the USARTx peripheral according to the specified
|
||
167:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * parameters in the USART_InitStruct .
|
||
168:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
169:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
170:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
171:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_InitStruct: pointer to a USART_InitTypeDef structure
|
||
172:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * that contains the configuration information for the specified USART
|
||
173:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * peripheral.
|
||
174:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
175:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
176:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
|
||
177:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
144 .loc 1 177 0
|
||
145 .cfi_startproc
|
||
146 @ args = 0, pretend = 0, frame = 24
|
||
147 @ frame_needed = 0, uses_anonymous_args = 0
|
||
148 .LVL20:
|
||
149 0000 30B5 push {r4, r5, lr}
|
||
150 .cfi_def_cfa_offset 12
|
||
151 .cfi_offset 4, -12
|
||
152 .cfi_offset 5, -8
|
||
153 .cfi_offset 14, -4
|
||
154 0002 87B0 sub sp, sp, #28
|
||
155 .cfi_def_cfa_offset 40
|
||
156 0004 0446 mov r4, r0
|
||
157 0006 0D46 mov r5, r1
|
||
158 .LVL21:
|
||
178:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t tmpreg = 0x00, apbclock = 0x00;
|
||
179:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t integerdivider = 0x00;
|
||
180:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t fractionaldivider = 0x00;
|
||
181:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t usartxbase = 0;
|
||
182:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_ClocksTypeDef RCC_ClocksStatus;
|
||
183:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
184:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
185:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_BAUDRATE(USART_InitStruct->USART_BaudRate));
|
||
186:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_WORD_LENGTH(USART_InitStruct->USART_WordLength));
|
||
187:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_STOPBITS(USART_InitStruct->USART_StopBits));
|
||
188:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_PARITY(USART_InitStruct->USART_Parity));
|
||
189:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_MODE(USART_InitStruct->USART_Mode));
|
||
190:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_HARDWARE_FLOW_CONTROL(USART_InitStruct->USART_HardwareFlowControl));
|
||
191:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* The hardware flow control is available only for USART1, USART2 and USART3 */
|
||
192:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None)
|
||
193:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
194:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
195:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
196:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
197:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase = (uint32_t)USARTx;
|
||
198:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
199:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR2 Configuration -----------------------*/
|
||
200:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg = USARTx->CR2;
|
||
159 .loc 1 200 0
|
||
160 0008 038A ldrh r3, [r0, #16]
|
||
161 000a 9BB2 uxth r3, r3
|
||
162 .LVL22:
|
||
201:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Clear STOP[13:12] bits */
|
||
202:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg &= CR2_STOP_CLEAR_Mask;
|
||
163 .loc 1 202 0
|
||
164 000c 23F44053 bic r3, r3, #12288
|
||
165 .LVL23:
|
||
203:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART Stop Bits, Clock, CPOL, CPHA and LastBit ------------*/
|
||
204:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set STOP[13:12] bits according to USART_StopBits value */
|
||
205:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg |= (uint32_t)USART_InitStruct->USART_StopBits;
|
||
166 .loc 1 205 0
|
||
167 0010 CA88 ldrh r2, [r1, #6]
|
||
168 0012 1343 orrs r3, r3, r2
|
||
169 .LVL24:
|
||
206:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
207:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Write to USART CR2 */
|
||
208:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 = (uint16_t)tmpreg;
|
||
170 .loc 1 208 0
|
||
171 0014 0382 strh r3, [r0, #16] @ movhi
|
||
209:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
210:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR1 Configuration -----------------------*/
|
||
211:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg = USARTx->CR1;
|
||
172 .loc 1 211 0
|
||
173 0016 8289 ldrh r2, [r0, #12]
|
||
174 0018 92B2 uxth r2, r2
|
||
175 .LVL25:
|
||
212:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Clear M, PCE, PS, TE and RE bits */
|
||
213:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg &= CR1_CLEAR_Mask;
|
||
214:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART Word Length, Parity and mode ----------------------- */
|
||
215:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set the M bits according to USART_WordLength value */
|
||
216:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set PCE and PS bits according to USART_Parity value */
|
||
217:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set TE and RE bits according to USART_Mode value */
|
||
218:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity |
|
||
176 .loc 1 218 0
|
||
177 001a 0989 ldrh r1, [r1, #8]
|
||
178 .LVL26:
|
||
179 001c AB88 ldrh r3, [r5, #4]
|
||
180 001e 0B43 orrs r3, r3, r1
|
||
181 0020 6989 ldrh r1, [r5, #10]
|
||
182 0022 0B43 orrs r3, r3, r1
|
||
213:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART Word Length, Parity and mode ----------------------- */
|
||
183 .loc 1 213 0
|
||
184 0024 22F4B052 bic r2, r2, #5632
|
||
185 .LVL27:
|
||
186 0028 22F00C02 bic r2, r2, #12
|
||
187 .loc 1 218 0
|
||
188 002c 1343 orrs r3, r3, r2
|
||
189 002e 9BB2 uxth r3, r3
|
||
190 .LVL28:
|
||
219:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_InitStruct->USART_Mode;
|
||
220:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Write to USART CR1 */
|
||
221:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 = (uint16_t)tmpreg;
|
||
191 .loc 1 221 0
|
||
192 0030 8381 strh r3, [r0, #12] @ movhi
|
||
222:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
223:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR3 Configuration -----------------------*/
|
||
224:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg = USARTx->CR3;
|
||
193 .loc 1 224 0
|
||
194 0032 838A ldrh r3, [r0, #20]
|
||
195 .LVL29:
|
||
196 0034 9BB2 uxth r3, r3
|
||
197 .LVL30:
|
||
225:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Clear CTSE and RTSE bits */
|
||
226:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg &= CR3_CLEAR_Mask;
|
||
198 .loc 1 226 0
|
||
199 0036 23F44073 bic r3, r3, #768
|
||
200 .LVL31:
|
||
227:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART HFC -------------------------------------------------*/
|
||
228:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set CTSE and RTSE bits according to USART_HardwareFlowControl value */
|
||
229:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg |= USART_InitStruct->USART_HardwareFlowControl;
|
||
201 .loc 1 229 0
|
||
202 003a AA89 ldrh r2, [r5, #12]
|
||
203 003c 1343 orrs r3, r3, r2
|
||
204 .LVL32:
|
||
230:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Write to USART CR3 */
|
||
231:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 = (uint16_t)tmpreg;
|
||
205 .loc 1 231 0
|
||
206 003e 8382 strh r3, [r0, #20] @ movhi
|
||
232:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
233:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART BRR Configuration -----------------------*/
|
||
234:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART Baud Rate -------------------------------------------*/
|
||
235:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** RCC_GetClocksFreq(&RCC_ClocksStatus);
|
||
207 .loc 1 235 0
|
||
208 0040 01A8 add r0, sp, #4
|
||
209 .LVL33:
|
||
210 0042 FFF7FEFF bl RCC_GetClocksFreq
|
||
211 .LVL34:
|
||
236:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (usartxbase == USART1_BASE)
|
||
212 .loc 1 236 0
|
||
213 0046 1A4B ldr r3, .L18
|
||
214 0048 9C42 cmp r4, r3
|
||
237:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
238:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** apbclock = RCC_ClocksStatus.PCLK2_Frequency;
|
||
215 .loc 1 238 0
|
||
216 004a 0CBF ite eq
|
||
217 004c 049B ldreq r3, [sp, #16]
|
||
218 .LVL35:
|
||
239:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
240:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
241:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
242:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** apbclock = RCC_ClocksStatus.PCLK1_Frequency;
|
||
219 .loc 1 242 0
|
||
220 004e 039B ldrne r3, [sp, #12]
|
||
221 .LVL36:
|
||
243:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
244:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
245:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Determine the integer part */
|
||
246:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if ((USARTx->CR1 & CR1_OVER8_Set) != 0)
|
||
222 .loc 1 246 0
|
||
223 0050 A289 ldrh r2, [r4, #12]
|
||
224 0052 12B2 sxth r2, r2
|
||
225 0054 002A cmp r2, #0
|
||
247:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
248:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Integer part computing in case Oversampling mode is 8 Samples */
|
||
249:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** integerdivider = ((25 * apbclock) / (2 * (USART_InitStruct->USART_BaudRate)));
|
||
226 .loc 1 249 0
|
||
227 0056 03EB8303 add r3, r3, r3, lsl #2
|
||
228 .LVL37:
|
||
229 005a 03EB8303 add r3, r3, r3, lsl #2
|
||
230 005e 2968 ldr r1, [r5]
|
||
231 0060 B4BF ite lt
|
||
232 0062 4900 lsllt r1, r1, #1
|
||
250:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
251:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else /* if ((USARTx->CR1 & CR1_OVER8_Set) == 0) */
|
||
252:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
253:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Integer part computing in case Oversampling mode is 16 Samples */
|
||
254:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate)));
|
||
233 .loc 1 254 0
|
||
234 0064 8900 lslge r1, r1, #2
|
||
235 0066 B3FBF1F1 udiv r1, r3, r1
|
||
236 .LVL38:
|
||
255:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
256:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg = (integerdivider / 100) << 4;
|
||
237 .loc 1 256 0
|
||
238 006a 124B ldr r3, .L18+4
|
||
239 006c A3FB0123 umull r2, r3, r3, r1
|
||
240 0070 5809 lsrs r0, r3, #5
|
||
241 .LVL39:
|
||
257:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
258:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Determine the fractional part */
|
||
259:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** fractionaldivider = integerdivider - (100 * (tmpreg >> 4));
|
||
242 .loc 1 259 0
|
||
243 0072 0501 lsls r5, r0, #4
|
||
244 .LVL40:
|
||
245 0074 6423 movs r3, #100
|
||
246 0076 00FB1313 mls r3, r0, r3, r1
|
||
247 .LVL41:
|
||
260:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
261:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Implement the fractional part in the register */
|
||
262:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if ((USARTx->CR1 & CR1_OVER8_Set) != 0)
|
||
248 .loc 1 262 0
|
||
249 007a A289 ldrh r2, [r4, #12]
|
||
250 007c 12B2 sxth r2, r2
|
||
251 007e 002A cmp r2, #0
|
||
252 0080 09DA bge .L15
|
||
263:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
264:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg |= ((((fractionaldivider * 8) + 50) / 100)) & ((uint8_t)0x07);
|
||
253 .loc 1 264 0
|
||
254 0082 D900 lsls r1, r3, #3
|
||
255 .LVL42:
|
||
256 0084 3231 adds r1, r1, #50
|
||
257 0086 0B4A ldr r2, .L18+4
|
||
258 0088 A2FB0131 umull r3, r1, r2, r1
|
||
259 .LVL43:
|
||
260 008c C1F34212 ubfx r2, r1, #5, #3
|
||
261 0090 42EA0503 orr r3, r2, r5
|
||
262 .LVL44:
|
||
263 0094 07E0 b .L16
|
||
264 .LVL45:
|
||
265 .L15:
|
||
265:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
266:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else /* if ((USARTx->CR1 & CR1_OVER8_Set) == 0) */
|
||
267:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
268:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F);
|
||
266 .loc 1 268 0
|
||
267 0096 1B01 lsls r3, r3, #4
|
||
268 .LVL46:
|
||
269 0098 3233 adds r3, r3, #50
|
||
270 009a 064A ldr r2, .L18+4
|
||
271 009c A2FB0323 umull r2, r3, r2, r3
|
||
272 00a0 C3F34313 ubfx r3, r3, #5, #4
|
||
273 00a4 2B43 orrs r3, r3, r5
|
||
274 .LVL47:
|
||
275 .L16:
|
||
269:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
270:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
271:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Write to USART BRR */
|
||
272:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->BRR = (uint16_t)tmpreg;
|
||
276 .loc 1 272 0
|
||
277 00a6 9BB2 uxth r3, r3
|
||
278 .LVL48:
|
||
279 00a8 2381 strh r3, [r4, #8] @ movhi
|
||
273:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
280 .loc 1 273 0
|
||
281 00aa 07B0 add sp, sp, #28
|
||
282 .cfi_def_cfa_offset 12
|
||
283 @ sp needed
|
||
284 00ac 30BD pop {r4, r5, pc}
|
||
285 .LVL49:
|
||
286 .L19:
|
||
287 00ae 00BF .align 2
|
||
288 .L18:
|
||
289 00b0 00380140 .word 1073821696
|
||
290 00b4 1F85EB51 .word 1374389535
|
||
291 .cfi_endproc
|
||
292 .LFE30:
|
||
294 .section .text.USART_StructInit,"ax",%progbits
|
||
295 .align 2
|
||
296 .global USART_StructInit
|
||
297 .thumb
|
||
298 .thumb_func
|
||
300 USART_StructInit:
|
||
301 .LFB31:
|
||
274:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
275:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
276:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Fills each USART_InitStruct member with its default value.
|
||
277:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_InitStruct: pointer to a USART_InitTypeDef structure
|
||
278:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * which will be initialized.
|
||
279:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
280:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
281:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_StructInit(USART_InitTypeDef* USART_InitStruct)
|
||
282:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
302 .loc 1 282 0
|
||
303 .cfi_startproc
|
||
304 @ args = 0, pretend = 0, frame = 0
|
||
305 @ frame_needed = 0, uses_anonymous_args = 0
|
||
306 @ link register save eliminated.
|
||
307 .LVL50:
|
||
283:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* USART_InitStruct members default value */
|
||
284:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_InitStruct->USART_BaudRate = 9600;
|
||
308 .loc 1 284 0
|
||
309 0000 4FF41653 mov r3, #9600
|
||
310 0004 0360 str r3, [r0]
|
||
285:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_InitStruct->USART_WordLength = USART_WordLength_8b;
|
||
311 .loc 1 285 0
|
||
312 0006 0023 movs r3, #0
|
||
313 0008 8380 strh r3, [r0, #4] @ movhi
|
||
286:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_InitStruct->USART_StopBits = USART_StopBits_1;
|
||
314 .loc 1 286 0
|
||
315 000a C380 strh r3, [r0, #6] @ movhi
|
||
287:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_InitStruct->USART_Parity = USART_Parity_No ;
|
||
316 .loc 1 287 0
|
||
317 000c 0381 strh r3, [r0, #8] @ movhi
|
||
288:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_InitStruct->USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
|
||
318 .loc 1 288 0
|
||
319 000e 0C22 movs r2, #12
|
||
320 0010 4281 strh r2, [r0, #10] @ movhi
|
||
289:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_InitStruct->USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||
321 .loc 1 289 0
|
||
322 0012 8381 strh r3, [r0, #12] @ movhi
|
||
323 0014 7047 bx lr
|
||
324 .cfi_endproc
|
||
325 .LFE31:
|
||
327 0016 00BF .section .text.USART_ClockInit,"ax",%progbits
|
||
328 .align 2
|
||
329 .global USART_ClockInit
|
||
330 .thumb
|
||
331 .thumb_func
|
||
333 USART_ClockInit:
|
||
334 .LFB32:
|
||
290:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
291:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
292:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
293:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Initializes the USARTx peripheral Clock according to the
|
||
294:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * specified parameters in the USART_ClockInitStruct .
|
||
295:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: where x can be 1, 2, 3 to select the USART peripheral.
|
||
296:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_ClockInitStruct: pointer to a USART_ClockInitTypeDef
|
||
297:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * structure that contains the configuration information for the specified
|
||
298:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART peripheral.
|
||
299:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note The Smart Card and Synchronous modes are not available for UART4 and UART5.
|
||
300:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
301:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
302:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct)
|
||
303:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
335 .loc 1 303 0
|
||
336 .cfi_startproc
|
||
337 @ args = 0, pretend = 0, frame = 0
|
||
338 @ frame_needed = 0, uses_anonymous_args = 0
|
||
339 @ link register save eliminated.
|
||
340 .LVL51:
|
||
341 0000 10B4 push {r4}
|
||
342 .cfi_def_cfa_offset 4
|
||
343 .cfi_offset 4, -4
|
||
344 .LVL52:
|
||
304:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t tmpreg = 0x00;
|
||
305:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
306:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
307:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_CLOCK(USART_ClockInitStruct->USART_Clock));
|
||
308:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_CPOL(USART_ClockInitStruct->USART_CPOL));
|
||
309:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_CPHA(USART_ClockInitStruct->USART_CPHA));
|
||
310:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_LASTBIT(USART_ClockInitStruct->USART_LastBit));
|
||
311:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
312:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /*---------------------------- USART CR2 Configuration -----------------------*/
|
||
313:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg = USARTx->CR2;
|
||
345 .loc 1 313 0
|
||
346 0002 028A ldrh r2, [r0, #16]
|
||
347 0004 92B2 uxth r2, r2
|
||
348 .LVL53:
|
||
314:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Clear CLKEN, CPOL, CPHA and LBCL bits */
|
||
315:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg &= CR2_CLOCK_CLEAR_Mask;
|
||
316:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART Clock, CPOL, CPHA and LastBit ------------*/
|
||
317:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set CLKEN bit according to USART_Clock value */
|
||
318:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set CPOL bit according to USART_CPOL value */
|
||
319:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set CPHA bit according to USART_CPHA value */
|
||
320:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set LBCL bit according to USART_LastBit value */
|
||
321:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** tmpreg |= (uint32_t)USART_ClockInitStruct->USART_Clock | USART_ClockInitStruct->USART_CPOL |
|
||
322:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_CPHA | USART_ClockInitStruct->USART_LastBit;
|
||
349 .loc 1 322 0
|
||
350 0006 4C88 ldrh r4, [r1, #2]
|
||
351 0008 0B88 ldrh r3, [r1]
|
||
352 000a 2343 orrs r3, r3, r4
|
||
353 000c 8C88 ldrh r4, [r1, #4]
|
||
354 000e 2343 orrs r3, r3, r4
|
||
355 0010 C988 ldrh r1, [r1, #6]
|
||
356 .LVL54:
|
||
357 0012 0B43 orrs r3, r3, r1
|
||
315:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Configure the USART Clock, CPOL, CPHA and LastBit ------------*/
|
||
358 .loc 1 315 0
|
||
359 0014 22F47062 bic r2, r2, #3840
|
||
360 .LVL55:
|
||
321:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_CPHA | USART_ClockInitStruct->USART_LastBit;
|
||
361 .loc 1 321 0
|
||
362 0018 1343 orrs r3, r3, r2
|
||
363 001a 9BB2 uxth r3, r3
|
||
364 .LVL56:
|
||
323:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Write to USART CR2 */
|
||
324:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 = (uint16_t)tmpreg;
|
||
365 .loc 1 324 0
|
||
366 001c 0382 strh r3, [r0, #16] @ movhi
|
||
325:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
367 .loc 1 325 0
|
||
368 001e 5DF8044B ldr r4, [sp], #4
|
||
369 .cfi_restore 4
|
||
370 .cfi_def_cfa_offset 0
|
||
371 0022 7047 bx lr
|
||
372 .cfi_endproc
|
||
373 .LFE32:
|
||
375 .section .text.USART_ClockStructInit,"ax",%progbits
|
||
376 .align 2
|
||
377 .global USART_ClockStructInit
|
||
378 .thumb
|
||
379 .thumb_func
|
||
381 USART_ClockStructInit:
|
||
382 .LFB33:
|
||
326:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
327:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
328:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Fills each USART_ClockInitStruct member with its default value.
|
||
329:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_ClockInitStruct: pointer to a USART_ClockInitTypeDef
|
||
330:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * structure which will be initialized.
|
||
331:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
332:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
333:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct)
|
||
334:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
383 .loc 1 334 0
|
||
384 .cfi_startproc
|
||
385 @ args = 0, pretend = 0, frame = 0
|
||
386 @ frame_needed = 0, uses_anonymous_args = 0
|
||
387 @ link register save eliminated.
|
||
388 .LVL57:
|
||
335:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* USART_ClockInitStruct members default value */
|
||
336:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_Clock = USART_Clock_Disable;
|
||
389 .loc 1 336 0
|
||
390 0000 0023 movs r3, #0
|
||
391 0002 0380 strh r3, [r0] @ movhi
|
||
337:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_CPOL = USART_CPOL_Low;
|
||
392 .loc 1 337 0
|
||
393 0004 4380 strh r3, [r0, #2] @ movhi
|
||
338:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_CPHA = USART_CPHA_1Edge;
|
||
394 .loc 1 338 0
|
||
395 0006 8380 strh r3, [r0, #4] @ movhi
|
||
339:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USART_ClockInitStruct->USART_LastBit = USART_LastBit_Disable;
|
||
396 .loc 1 339 0
|
||
397 0008 C380 strh r3, [r0, #6] @ movhi
|
||
398 000a 7047 bx lr
|
||
399 .cfi_endproc
|
||
400 .LFE33:
|
||
402 .section .text.USART_Cmd,"ax",%progbits
|
||
403 .align 2
|
||
404 .global USART_Cmd
|
||
405 .thumb
|
||
406 .thumb_func
|
||
408 USART_Cmd:
|
||
409 .LFB34:
|
||
340:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
341:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
342:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
343:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the specified USART peripheral.
|
||
344:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
345:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
346:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
347:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the USARTx peripheral.
|
||
348:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
349:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
350:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
351:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
352:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
410 .loc 1 352 0
|
||
411 .cfi_startproc
|
||
412 @ args = 0, pretend = 0, frame = 0
|
||
413 @ frame_needed = 0, uses_anonymous_args = 0
|
||
414 @ link register save eliminated.
|
||
415 .LVL58:
|
||
353:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
354:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
355:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
356:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
357:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
416 .loc 1 357 0
|
||
417 0000 29B1 cbz r1, .L25
|
||
358:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
359:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the selected USART by setting the UE bit in the CR1 register */
|
||
360:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 |= CR1_UE_Set;
|
||
418 .loc 1 360 0
|
||
419 0002 8389 ldrh r3, [r0, #12]
|
||
420 0004 9BB2 uxth r3, r3
|
||
421 0006 43F40053 orr r3, r3, #8192
|
||
422 000a 8381 strh r3, [r0, #12] @ movhi
|
||
423 000c 7047 bx lr
|
||
424 .L25:
|
||
361:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
362:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
363:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
364:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the selected USART by clearing the UE bit in the CR1 register */
|
||
365:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 &= CR1_UE_Reset;
|
||
425 .loc 1 365 0
|
||
426 000e 8389 ldrh r3, [r0, #12]
|
||
427 0010 23F40053 bic r3, r3, #8192
|
||
428 0014 1B04 lsls r3, r3, #16
|
||
429 0016 1B0C lsrs r3, r3, #16
|
||
430 0018 8381 strh r3, [r0, #12] @ movhi
|
||
431 001a 7047 bx lr
|
||
432 .cfi_endproc
|
||
433 .LFE34:
|
||
435 .section .text.USART_ITConfig,"ax",%progbits
|
||
436 .align 2
|
||
437 .global USART_ITConfig
|
||
438 .thumb
|
||
439 .thumb_func
|
||
441 USART_ITConfig:
|
||
442 .LFB35:
|
||
366:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
367:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
368:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
369:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
370:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the specified USART interrupts.
|
||
371:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
372:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
373:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
374:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_IT: specifies the USART interrupt sources to be enabled or disabled.
|
||
375:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
376:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)
|
||
377:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_LBD: LIN Break detection interrupt
|
||
378:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_TXE: Transmit Data Register empty interrupt
|
||
379:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_TC: Transmission complete interrupt
|
||
380:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_RXNE: Receive Data register not empty interrupt
|
||
381:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_IDLE: Idle line detection interrupt
|
||
382:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_PE: Parity Error interrupt
|
||
383:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_ERR: Error interrupt(Frame error, noise error, overrun error)
|
||
384:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the specified USARTx interrupts.
|
||
385:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
386:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
387:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
388:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState)
|
||
389:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
443 .loc 1 389 0
|
||
444 .cfi_startproc
|
||
445 @ args = 0, pretend = 0, frame = 0
|
||
446 @ frame_needed = 0, uses_anonymous_args = 0
|
||
447 @ link register save eliminated.
|
||
448 .LVL59:
|
||
449 0000 10B4 push {r4}
|
||
450 .cfi_def_cfa_offset 4
|
||
451 .cfi_offset 4, -4
|
||
452 .LVL60:
|
||
390:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t usartreg = 0x00, itpos = 0x00, itmask = 0x00;
|
||
391:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t usartxbase = 0x00;
|
||
392:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
393:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
394:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_CONFIG_IT(USART_IT));
|
||
395:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
396:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* The CTS interrupt is not available for UART4 and UART5 */
|
||
397:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (USART_IT == USART_IT_CTS)
|
||
398:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
399:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
400:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
401:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
402:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase = (uint32_t)USARTx;
|
||
403:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
404:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Get the USART register index */
|
||
405:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartreg = (((uint8_t)USART_IT) >> 0x05);
|
||
453 .loc 1 405 0
|
||
454 0002 C1F34214 ubfx r4, r1, #5, #3
|
||
455 .LVL61:
|
||
406:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
407:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Get the interrupt position */
|
||
408:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itpos = USART_IT & IT_Mask;
|
||
409:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask = (((uint32_t)0x01) << itpos);
|
||
456 .loc 1 409 0
|
||
457 0006 01F01F01 and r1, r1, #31
|
||
458 .LVL62:
|
||
459 000a 0123 movs r3, #1
|
||
460 000c 8B40 lsls r3, r3, r1
|
||
461 .LVL63:
|
||
410:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
411:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (usartreg == 0x01) /* The IT is in CR1 register */
|
||
462 .loc 1 411 0
|
||
463 000e 012C cmp r4, #1
|
||
464 0010 01D1 bne .L28
|
||
412:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
413:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase += 0x0C;
|
||
465 .loc 1 413 0
|
||
466 0012 0C30 adds r0, r0, #12
|
||
467 .LVL64:
|
||
468 0014 03E0 b .L29
|
||
469 .LVL65:
|
||
470 .L28:
|
||
414:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
415:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else if (usartreg == 0x02) /* The IT is in CR2 register */
|
||
471 .loc 1 415 0
|
||
472 0016 022C cmp r4, #2
|
||
416:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
417:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase += 0x10;
|
||
473 .loc 1 417 0
|
||
474 0018 0CBF ite eq
|
||
475 001a 1030 addeq r0, r0, #16
|
||
476 .LVL66:
|
||
418:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
419:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else /* The IT is in CR3 register */
|
||
420:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
421:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase += 0x14;
|
||
477 .loc 1 421 0
|
||
478 001c 1430 addne r0, r0, #20
|
||
479 .LVL67:
|
||
480 .L29:
|
||
422:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
423:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
481 .loc 1 423 0
|
||
482 001e 1AB1 cbz r2, .L31
|
||
424:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
425:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *(__IO uint32_t*)usartxbase |= itmask;
|
||
483 .loc 1 425 0
|
||
484 0020 0268 ldr r2, [r0]
|
||
485 .LVL68:
|
||
486 0022 1343 orrs r3, r3, r2
|
||
487 .LVL69:
|
||
488 0024 0360 str r3, [r0]
|
||
489 0026 03E0 b .L27
|
||
490 .LVL70:
|
||
491 .L31:
|
||
426:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
427:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
428:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
429:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *(__IO uint32_t*)usartxbase &= ~itmask;
|
||
492 .loc 1 429 0
|
||
493 0028 0268 ldr r2, [r0]
|
||
494 .LVL71:
|
||
495 002a 22EA0303 bic r3, r2, r3
|
||
496 .LVL72:
|
||
497 002e 0360 str r3, [r0]
|
||
498 .L27:
|
||
430:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
431:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
499 .loc 1 431 0
|
||
500 0030 5DF8044B ldr r4, [sp], #4
|
||
501 .cfi_restore 4
|
||
502 .cfi_def_cfa_offset 0
|
||
503 .LVL73:
|
||
504 0034 7047 bx lr
|
||
505 .cfi_endproc
|
||
506 .LFE35:
|
||
508 0036 00BF .section .text.USART_DMACmd,"ax",%progbits
|
||
509 .align 2
|
||
510 .global USART_DMACmd
|
||
511 .thumb
|
||
512 .thumb_func
|
||
514 USART_DMACmd:
|
||
515 .LFB36:
|
||
432:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
433:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
434:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART<52>s DMA interface.
|
||
435:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
436:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
437:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
438:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_DMAReq: specifies the DMA request.
|
||
439:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be any combination of the following values:
|
||
440:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_DMAReq_Tx: USART DMA transmit request
|
||
441:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_DMAReq_Rx: USART DMA receive request
|
||
442:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the DMA Request sources.
|
||
443:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
444:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note The DMA mode is not available for UART5 except in the STM32
|
||
445:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * High density value line devices(STM32F10X_HD_VL).
|
||
446:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
447:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
448:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_DMACmd(USART_TypeDef* USARTx, uint16_t USART_DMAReq, FunctionalState NewState)
|
||
449:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
516 .loc 1 449 0
|
||
517 .cfi_startproc
|
||
518 @ args = 0, pretend = 0, frame = 0
|
||
519 @ frame_needed = 0, uses_anonymous_args = 0
|
||
520 @ link register save eliminated.
|
||
521 .LVL74:
|
||
450:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
451:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
452:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_DMAREQ(USART_DMAReq));
|
||
453:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
454:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
522 .loc 1 454 0
|
||
523 0000 22B1 cbz r2, .L35
|
||
455:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
456:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the DMA transfer for selected requests by setting the DMAT and/or
|
||
457:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** DMAR bits in the USART CR3 register */
|
||
458:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= USART_DMAReq;
|
||
524 .loc 1 458 0
|
||
525 0002 838A ldrh r3, [r0, #20]
|
||
526 0004 9BB2 uxth r3, r3
|
||
527 0006 1943 orrs r1, r1, r3
|
||
528 .LVL75:
|
||
529 0008 8182 strh r1, [r0, #20] @ movhi
|
||
530 000a 7047 bx lr
|
||
531 .LVL76:
|
||
532 .L35:
|
||
459:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
460:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
461:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
462:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the DMA transfer for selected requests by clearing the DMAT and/or
|
||
463:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** DMAR bits in the USART CR3 register */
|
||
464:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= (uint16_t)~USART_DMAReq;
|
||
533 .loc 1 464 0
|
||
534 000c 838A ldrh r3, [r0, #20]
|
||
535 000e 9BB2 uxth r3, r3
|
||
536 0010 23EA0101 bic r1, r3, r1
|
||
537 .LVL77:
|
||
538 0014 8182 strh r1, [r0, #20] @ movhi
|
||
539 0016 7047 bx lr
|
||
540 .cfi_endproc
|
||
541 .LFE36:
|
||
543 .section .text.USART_SetAddress,"ax",%progbits
|
||
544 .align 2
|
||
545 .global USART_SetAddress
|
||
546 .thumb
|
||
547 .thumb_func
|
||
549 USART_SetAddress:
|
||
550 .LFB37:
|
||
465:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
466:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
467:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
468:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
469:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Sets the address of the USART node.
|
||
470:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
471:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
472:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
473:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_Address: Indicates the address of the USART node.
|
||
474:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
475:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
476:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address)
|
||
477:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
551 .loc 1 477 0
|
||
552 .cfi_startproc
|
||
553 @ args = 0, pretend = 0, frame = 0
|
||
554 @ frame_needed = 0, uses_anonymous_args = 0
|
||
555 @ link register save eliminated.
|
||
556 .LVL78:
|
||
478:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
479:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
480:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ADDRESS(USART_Address));
|
||
481:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
482:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Clear the USART address */
|
||
483:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 &= CR2_Address_Mask;
|
||
557 .loc 1 483 0
|
||
558 0000 038A ldrh r3, [r0, #16]
|
||
559 0002 23F00F03 bic r3, r3, #15
|
||
560 0006 1B04 lsls r3, r3, #16
|
||
561 0008 1B0C lsrs r3, r3, #16
|
||
562 000a 0382 strh r3, [r0, #16] @ movhi
|
||
484:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set the USART address node */
|
||
485:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 |= USART_Address;
|
||
563 .loc 1 485 0
|
||
564 000c 038A ldrh r3, [r0, #16]
|
||
565 000e 9BB2 uxth r3, r3
|
||
566 0010 1943 orrs r1, r1, r3
|
||
567 .LVL79:
|
||
568 0012 0182 strh r1, [r0, #16] @ movhi
|
||
569 0014 7047 bx lr
|
||
570 .cfi_endproc
|
||
571 .LFE37:
|
||
573 0016 00BF .section .text.USART_WakeUpConfig,"ax",%progbits
|
||
574 .align 2
|
||
575 .global USART_WakeUpConfig
|
||
576 .thumb
|
||
577 .thumb_func
|
||
579 USART_WakeUpConfig:
|
||
580 .LFB38:
|
||
486:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
487:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
488:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
489:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Selects the USART WakeUp method.
|
||
490:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
491:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
492:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
493:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_WakeUp: specifies the USART wakeup method.
|
||
494:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
495:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_WakeUp_IdleLine: WakeUp by an idle line detection
|
||
496:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_WakeUp_AddressMark: WakeUp by an address mark
|
||
497:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
498:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
499:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_WakeUpConfig(USART_TypeDef* USARTx, uint16_t USART_WakeUp)
|
||
500:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
581 .loc 1 500 0
|
||
582 .cfi_startproc
|
||
583 @ args = 0, pretend = 0, frame = 0
|
||
584 @ frame_needed = 0, uses_anonymous_args = 0
|
||
585 @ link register save eliminated.
|
||
586 .LVL80:
|
||
501:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
502:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
503:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_WAKEUP(USART_WakeUp));
|
||
504:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
505:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 &= CR1_WAKE_Mask;
|
||
587 .loc 1 505 0
|
||
588 0000 8389 ldrh r3, [r0, #12]
|
||
589 0002 23F40063 bic r3, r3, #2048
|
||
590 0006 1B04 lsls r3, r3, #16
|
||
591 0008 1B0C lsrs r3, r3, #16
|
||
592 000a 8381 strh r3, [r0, #12] @ movhi
|
||
506:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 |= USART_WakeUp;
|
||
593 .loc 1 506 0
|
||
594 000c 8389 ldrh r3, [r0, #12]
|
||
595 000e 9BB2 uxth r3, r3
|
||
596 0010 1943 orrs r1, r1, r3
|
||
597 .LVL81:
|
||
598 0012 8181 strh r1, [r0, #12] @ movhi
|
||
599 0014 7047 bx lr
|
||
600 .cfi_endproc
|
||
601 .LFE38:
|
||
603 0016 00BF .section .text.USART_ReceiverWakeUpCmd,"ax",%progbits
|
||
604 .align 2
|
||
605 .global USART_ReceiverWakeUpCmd
|
||
606 .thumb
|
||
607 .thumb_func
|
||
609 USART_ReceiverWakeUpCmd:
|
||
610 .LFB39:
|
||
507:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
508:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
509:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
510:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Determines if the USART is in mute mode or not.
|
||
511:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
512:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
513:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
514:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the USART mute mode.
|
||
515:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
516:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
517:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
518:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
519:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
611 .loc 1 519 0
|
||
612 .cfi_startproc
|
||
613 @ args = 0, pretend = 0, frame = 0
|
||
614 @ frame_needed = 0, uses_anonymous_args = 0
|
||
615 @ link register save eliminated.
|
||
616 .LVL82:
|
||
520:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
521:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
522:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
523:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
524:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
617 .loc 1 524 0
|
||
618 0000 29B1 cbz r1, .L40
|
||
525:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
526:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the USART mute mode by setting the RWU bit in the CR1 register */
|
||
527:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 |= CR1_RWU_Set;
|
||
619 .loc 1 527 0
|
||
620 0002 8389 ldrh r3, [r0, #12]
|
||
621 0004 9BB2 uxth r3, r3
|
||
622 0006 43F00203 orr r3, r3, #2
|
||
623 000a 8381 strh r3, [r0, #12] @ movhi
|
||
624 000c 7047 bx lr
|
||
625 .L40:
|
||
528:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
529:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
530:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
531:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */
|
||
532:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 &= CR1_RWU_Reset;
|
||
626 .loc 1 532 0
|
||
627 000e 8389 ldrh r3, [r0, #12]
|
||
628 0010 23F00203 bic r3, r3, #2
|
||
629 0014 1B04 lsls r3, r3, #16
|
||
630 0016 1B0C lsrs r3, r3, #16
|
||
631 0018 8381 strh r3, [r0, #12] @ movhi
|
||
632 001a 7047 bx lr
|
||
633 .cfi_endproc
|
||
634 .LFE39:
|
||
636 .section .text.USART_LINBreakDetectLengthConfig,"ax",%progbits
|
||
637 .align 2
|
||
638 .global USART_LINBreakDetectLengthConfig
|
||
639 .thumb
|
||
640 .thumb_func
|
||
642 USART_LINBreakDetectLengthConfig:
|
||
643 .LFB40:
|
||
533:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
534:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
535:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
536:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
537:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Sets the USART LIN Break detection length.
|
||
538:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
539:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
540:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
541:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_LINBreakDetectLength: specifies the LIN break detection length.
|
||
542:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
543:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_LINBreakDetectLength_10b: 10-bit break detection
|
||
544:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_LINBreakDetectLength_11b: 11-bit break detection
|
||
545:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
546:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
547:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_LINBreakDetectLengthConfig(USART_TypeDef* USARTx, uint16_t USART_LINBreakDetectLength)
|
||
548:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
644 .loc 1 548 0
|
||
645 .cfi_startproc
|
||
646 @ args = 0, pretend = 0, frame = 0
|
||
647 @ frame_needed = 0, uses_anonymous_args = 0
|
||
648 @ link register save eliminated.
|
||
649 .LVL83:
|
||
549:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
550:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
551:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_LIN_BREAK_DETECT_LENGTH(USART_LINBreakDetectLength));
|
||
552:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
553:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 &= CR2_LBDL_Mask;
|
||
650 .loc 1 553 0
|
||
651 0000 038A ldrh r3, [r0, #16]
|
||
652 0002 23F02003 bic r3, r3, #32
|
||
653 0006 1B04 lsls r3, r3, #16
|
||
654 0008 1B0C lsrs r3, r3, #16
|
||
655 000a 0382 strh r3, [r0, #16] @ movhi
|
||
554:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 |= USART_LINBreakDetectLength;
|
||
656 .loc 1 554 0
|
||
657 000c 038A ldrh r3, [r0, #16]
|
||
658 000e 9BB2 uxth r3, r3
|
||
659 0010 1943 orrs r1, r1, r3
|
||
660 .LVL84:
|
||
661 0012 0182 strh r1, [r0, #16] @ movhi
|
||
662 0014 7047 bx lr
|
||
663 .cfi_endproc
|
||
664 .LFE40:
|
||
666 0016 00BF .section .text.USART_LINCmd,"ax",%progbits
|
||
667 .align 2
|
||
668 .global USART_LINCmd
|
||
669 .thumb
|
||
670 .thumb_func
|
||
672 USART_LINCmd:
|
||
673 .LFB41:
|
||
555:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
556:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
557:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
558:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART<52>s LIN mode.
|
||
559:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
560:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
561:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
562:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the USART LIN mode.
|
||
563:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
564:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
565:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
566:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_LINCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
567:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
674 .loc 1 567 0
|
||
675 .cfi_startproc
|
||
676 @ args = 0, pretend = 0, frame = 0
|
||
677 @ frame_needed = 0, uses_anonymous_args = 0
|
||
678 @ link register save eliminated.
|
||
679 .LVL85:
|
||
568:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
569:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
570:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
571:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
572:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
680 .loc 1 572 0
|
||
681 0000 29B1 cbz r1, .L44
|
||
573:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
574:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
|
||
575:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 |= CR2_LINEN_Set;
|
||
682 .loc 1 575 0
|
||
683 0002 038A ldrh r3, [r0, #16]
|
||
684 0004 9BB2 uxth r3, r3
|
||
685 0006 43F48043 orr r3, r3, #16384
|
||
686 000a 0382 strh r3, [r0, #16] @ movhi
|
||
687 000c 7047 bx lr
|
||
688 .L44:
|
||
576:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
577:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
578:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
579:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the LIN mode by clearing the LINEN bit in the CR2 register */
|
||
580:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR2 &= CR2_LINEN_Reset;
|
||
689 .loc 1 580 0
|
||
690 000e 038A ldrh r3, [r0, #16]
|
||
691 0010 23F48043 bic r3, r3, #16384
|
||
692 0014 1B04 lsls r3, r3, #16
|
||
693 0016 1B0C lsrs r3, r3, #16
|
||
694 0018 0382 strh r3, [r0, #16] @ movhi
|
||
695 001a 7047 bx lr
|
||
696 .cfi_endproc
|
||
697 .LFE41:
|
||
699 .section .text.USART_SendData,"ax",%progbits
|
||
700 .align 2
|
||
701 .global USART_SendData
|
||
702 .thumb
|
||
703 .thumb_func
|
||
705 USART_SendData:
|
||
706 .LFB42:
|
||
581:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
582:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
583:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
584:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
585:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Transmits single data through the USARTx peripheral.
|
||
586:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
587:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
588:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
589:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param Data: the data to transmit.
|
||
590:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
591:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
592:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
|
||
593:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
707 .loc 1 593 0
|
||
708 .cfi_startproc
|
||
709 @ args = 0, pretend = 0, frame = 0
|
||
710 @ frame_needed = 0, uses_anonymous_args = 0
|
||
711 @ link register save eliminated.
|
||
712 .LVL86:
|
||
594:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
595:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
596:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_DATA(Data));
|
||
597:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
598:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Transmit Data */
|
||
599:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->DR = (Data & (uint16_t)0x01FF);
|
||
713 .loc 1 599 0
|
||
714 0000 C1F30801 ubfx r1, r1, #0, #9
|
||
715 .LVL87:
|
||
716 0004 8180 strh r1, [r0, #4] @ movhi
|
||
717 0006 7047 bx lr
|
||
718 .cfi_endproc
|
||
719 .LFE42:
|
||
721 .section .text.USART_ReceiveData,"ax",%progbits
|
||
722 .align 2
|
||
723 .global USART_ReceiveData
|
||
724 .thumb
|
||
725 .thumb_func
|
||
727 USART_ReceiveData:
|
||
728 .LFB43:
|
||
600:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
601:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
602:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
603:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Returns the most recent received data by the USARTx peripheral.
|
||
604:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
605:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
606:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
607:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval The received data.
|
||
608:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
609:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint16_t USART_ReceiveData(USART_TypeDef* USARTx)
|
||
610:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
729 .loc 1 610 0
|
||
730 .cfi_startproc
|
||
731 @ args = 0, pretend = 0, frame = 0
|
||
732 @ frame_needed = 0, uses_anonymous_args = 0
|
||
733 @ link register save eliminated.
|
||
734 .LVL88:
|
||
611:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
612:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
613:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
614:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Receive Data */
|
||
615:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** return (uint16_t)(USARTx->DR & (uint16_t)0x01FF);
|
||
735 .loc 1 615 0
|
||
736 0000 8088 ldrh r0, [r0, #4]
|
||
737 .LVL89:
|
||
616:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
738 .loc 1 616 0
|
||
739 0002 C0F30800 ubfx r0, r0, #0, #9
|
||
740 0006 7047 bx lr
|
||
741 .cfi_endproc
|
||
742 .LFE43:
|
||
744 .section .text.USART_SendBreak,"ax",%progbits
|
||
745 .align 2
|
||
746 .global USART_SendBreak
|
||
747 .thumb
|
||
748 .thumb_func
|
||
750 USART_SendBreak:
|
||
751 .LFB44:
|
||
617:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
618:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
619:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Transmits break characters.
|
||
620:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
621:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
622:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
623:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
624:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
625:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SendBreak(USART_TypeDef* USARTx)
|
||
626:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
752 .loc 1 626 0
|
||
753 .cfi_startproc
|
||
754 @ args = 0, pretend = 0, frame = 0
|
||
755 @ frame_needed = 0, uses_anonymous_args = 0
|
||
756 @ link register save eliminated.
|
||
757 .LVL90:
|
||
627:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
628:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
629:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
630:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Send break characters */
|
||
631:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 |= CR1_SBK_Set;
|
||
758 .loc 1 631 0
|
||
759 0000 8389 ldrh r3, [r0, #12]
|
||
760 0002 9BB2 uxth r3, r3
|
||
761 0004 43F00103 orr r3, r3, #1
|
||
762 0008 8381 strh r3, [r0, #12] @ movhi
|
||
763 000a 7047 bx lr
|
||
764 .cfi_endproc
|
||
765 .LFE44:
|
||
767 .section .text.USART_SetGuardTime,"ax",%progbits
|
||
768 .align 2
|
||
769 .global USART_SetGuardTime
|
||
770 .thumb
|
||
771 .thumb_func
|
||
773 USART_SetGuardTime:
|
||
774 .LFB45:
|
||
632:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
633:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
634:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
635:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Sets the specified USART guard time.
|
||
636:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: where x can be 1, 2 or 3 to select the USART peripheral.
|
||
637:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_GuardTime: specifies the guard time.
|
||
638:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note The guard time bits are not available for UART4 and UART5.
|
||
639:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
640:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
641:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SetGuardTime(USART_TypeDef* USARTx, uint8_t USART_GuardTime)
|
||
642:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
775 .loc 1 642 0
|
||
776 .cfi_startproc
|
||
777 @ args = 0, pretend = 0, frame = 0
|
||
778 @ frame_needed = 0, uses_anonymous_args = 0
|
||
779 @ link register save eliminated.
|
||
780 .LVL91:
|
||
643:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
644:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
645:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
646:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Clear the USART Guard time */
|
||
647:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->GTPR &= GTPR_LSB_Mask;
|
||
781 .loc 1 647 0
|
||
782 0000 038B ldrh r3, [r0, #24]
|
||
783 0002 DBB2 uxtb r3, r3
|
||
784 0004 0383 strh r3, [r0, #24] @ movhi
|
||
648:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set the USART guard time */
|
||
649:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->GTPR |= (uint16_t)((uint16_t)USART_GuardTime << 0x08);
|
||
785 .loc 1 649 0
|
||
786 0006 038B ldrh r3, [r0, #24]
|
||
787 0008 9BB2 uxth r3, r3
|
||
788 000a 43EA0121 orr r1, r3, r1, lsl #8
|
||
789 .LVL92:
|
||
790 000e 0183 strh r1, [r0, #24] @ movhi
|
||
791 0010 7047 bx lr
|
||
792 .cfi_endproc
|
||
793 .LFE45:
|
||
795 0012 00BF .section .text.USART_SetPrescaler,"ax",%progbits
|
||
796 .align 2
|
||
797 .global USART_SetPrescaler
|
||
798 .thumb
|
||
799 .thumb_func
|
||
801 USART_SetPrescaler:
|
||
802 .LFB46:
|
||
650:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
651:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
652:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
653:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Sets the system clock prescaler.
|
||
654:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
655:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
656:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
657:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_Prescaler: specifies the prescaler clock.
|
||
658:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note The function is used for IrDA mode with UART4 and UART5.
|
||
659:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
660:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
661:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SetPrescaler(USART_TypeDef* USARTx, uint8_t USART_Prescaler)
|
||
662:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
803 .loc 1 662 0
|
||
804 .cfi_startproc
|
||
805 @ args = 0, pretend = 0, frame = 0
|
||
806 @ frame_needed = 0, uses_anonymous_args = 0
|
||
807 @ link register save eliminated.
|
||
808 .LVL93:
|
||
663:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
664:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
665:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
666:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Clear the USART prescaler */
|
||
667:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->GTPR &= GTPR_MSB_Mask;
|
||
809 .loc 1 667 0
|
||
810 0000 038B ldrh r3, [r0, #24]
|
||
811 0002 03F47F43 and r3, r3, #65280
|
||
812 0006 0383 strh r3, [r0, #24] @ movhi
|
||
668:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Set the USART prescaler */
|
||
669:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->GTPR |= USART_Prescaler;
|
||
813 .loc 1 669 0
|
||
814 0008 038B ldrh r3, [r0, #24]
|
||
815 000a 9BB2 uxth r3, r3
|
||
816 000c 1943 orrs r1, r1, r3
|
||
817 .LVL94:
|
||
818 000e 0183 strh r1, [r0, #24] @ movhi
|
||
819 0010 7047 bx lr
|
||
820 .cfi_endproc
|
||
821 .LFE46:
|
||
823 0012 00BF .section .text.USART_SmartCardCmd,"ax",%progbits
|
||
824 .align 2
|
||
825 .global USART_SmartCardCmd
|
||
826 .thumb
|
||
827 .thumb_func
|
||
829 USART_SmartCardCmd:
|
||
830 .LFB47:
|
||
670:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
671:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
672:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
673:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART<52>s Smart Card mode.
|
||
674:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: where x can be 1, 2 or 3 to select the USART peripheral.
|
||
675:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the Smart Card mode.
|
||
676:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
677:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note The Smart Card mode is not available for UART4 and UART5.
|
||
678:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
679:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
680:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
681:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
831 .loc 1 681 0
|
||
832 .cfi_startproc
|
||
833 @ args = 0, pretend = 0, frame = 0
|
||
834 @ frame_needed = 0, uses_anonymous_args = 0
|
||
835 @ link register save eliminated.
|
||
836 .LVL95:
|
||
682:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
683:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
684:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
685:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
837 .loc 1 685 0
|
||
838 0000 29B1 cbz r1, .L52
|
||
686:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
687:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the SC mode by setting the SCEN bit in the CR3 register */
|
||
688:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= CR3_SCEN_Set;
|
||
839 .loc 1 688 0
|
||
840 0002 838A ldrh r3, [r0, #20]
|
||
841 0004 9BB2 uxth r3, r3
|
||
842 0006 43F02003 orr r3, r3, #32
|
||
843 000a 8382 strh r3, [r0, #20] @ movhi
|
||
844 000c 7047 bx lr
|
||
845 .L52:
|
||
689:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
690:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
691:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
692:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the SC mode by clearing the SCEN bit in the CR3 register */
|
||
693:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= CR3_SCEN_Reset;
|
||
846 .loc 1 693 0
|
||
847 000e 838A ldrh r3, [r0, #20]
|
||
848 0010 23F02003 bic r3, r3, #32
|
||
849 0014 1B04 lsls r3, r3, #16
|
||
850 0016 1B0C lsrs r3, r3, #16
|
||
851 0018 8382 strh r3, [r0, #20] @ movhi
|
||
852 001a 7047 bx lr
|
||
853 .cfi_endproc
|
||
854 .LFE47:
|
||
856 .section .text.USART_SmartCardNACKCmd,"ax",%progbits
|
||
857 .align 2
|
||
858 .global USART_SmartCardNACKCmd
|
||
859 .thumb
|
||
860 .thumb_func
|
||
862 USART_SmartCardNACKCmd:
|
||
863 .LFB48:
|
||
694:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
695:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
696:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
697:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
698:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables NACK transmission.
|
||
699:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: where x can be 1, 2 or 3 to select the USART peripheral.
|
||
700:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the NACK transmission.
|
||
701:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
702:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note The Smart Card mode is not available for UART4 and UART5.
|
||
703:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
704:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
705:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
706:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
864 .loc 1 706 0
|
||
865 .cfi_startproc
|
||
866 @ args = 0, pretend = 0, frame = 0
|
||
867 @ frame_needed = 0, uses_anonymous_args = 0
|
||
868 @ link register save eliminated.
|
||
869 .LVL96:
|
||
707:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
708:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
709:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
710:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
870 .loc 1 710 0
|
||
871 0000 29B1 cbz r1, .L55
|
||
711:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
712:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the NACK transmission by setting the NACK bit in the CR3 register */
|
||
713:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= CR3_NACK_Set;
|
||
872 .loc 1 713 0
|
||
873 0002 838A ldrh r3, [r0, #20]
|
||
874 0004 9BB2 uxth r3, r3
|
||
875 0006 43F01003 orr r3, r3, #16
|
||
876 000a 8382 strh r3, [r0, #20] @ movhi
|
||
877 000c 7047 bx lr
|
||
878 .L55:
|
||
714:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
715:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
716:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
717:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the NACK transmission by clearing the NACK bit in the CR3 register */
|
||
718:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= CR3_NACK_Reset;
|
||
879 .loc 1 718 0
|
||
880 000e 838A ldrh r3, [r0, #20]
|
||
881 0010 23F01003 bic r3, r3, #16
|
||
882 0014 1B04 lsls r3, r3, #16
|
||
883 0016 1B0C lsrs r3, r3, #16
|
||
884 0018 8382 strh r3, [r0, #20] @ movhi
|
||
885 001a 7047 bx lr
|
||
886 .cfi_endproc
|
||
887 .LFE48:
|
||
889 .section .text.USART_HalfDuplexCmd,"ax",%progbits
|
||
890 .align 2
|
||
891 .global USART_HalfDuplexCmd
|
||
892 .thumb
|
||
893 .thumb_func
|
||
895 USART_HalfDuplexCmd:
|
||
896 .LFB49:
|
||
719:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
720:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
721:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
722:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
723:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART<52>s Half Duplex communication.
|
||
724:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
725:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
726:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
727:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the USART Communication.
|
||
728:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
729:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
730:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
731:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
732:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
897 .loc 1 732 0
|
||
898 .cfi_startproc
|
||
899 @ args = 0, pretend = 0, frame = 0
|
||
900 @ frame_needed = 0, uses_anonymous_args = 0
|
||
901 @ link register save eliminated.
|
||
902 .LVL97:
|
||
733:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
734:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
735:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
736:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
737:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
903 .loc 1 737 0
|
||
904 0000 29B1 cbz r1, .L58
|
||
738:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
739:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
|
||
740:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= CR3_HDSEL_Set;
|
||
905 .loc 1 740 0
|
||
906 0002 838A ldrh r3, [r0, #20]
|
||
907 0004 9BB2 uxth r3, r3
|
||
908 0006 43F00803 orr r3, r3, #8
|
||
909 000a 8382 strh r3, [r0, #20] @ movhi
|
||
910 000c 7047 bx lr
|
||
911 .L58:
|
||
741:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
742:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
743:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
744:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the Half-Duplex mode by clearing the HDSEL bit in the CR3 register */
|
||
745:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= CR3_HDSEL_Reset;
|
||
912 .loc 1 745 0
|
||
913 000e 838A ldrh r3, [r0, #20]
|
||
914 0010 23F00803 bic r3, r3, #8
|
||
915 0014 1B04 lsls r3, r3, #16
|
||
916 0016 1B0C lsrs r3, r3, #16
|
||
917 0018 8382 strh r3, [r0, #20] @ movhi
|
||
918 001a 7047 bx lr
|
||
919 .cfi_endproc
|
||
920 .LFE49:
|
||
922 .section .text.USART_OverSampling8Cmd,"ax",%progbits
|
||
923 .align 2
|
||
924 .global USART_OverSampling8Cmd
|
||
925 .thumb
|
||
926 .thumb_func
|
||
928 USART_OverSampling8Cmd:
|
||
929 .LFB50:
|
||
746:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
747:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
748:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
749:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
750:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
751:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART's 8x oversampling mode.
|
||
752:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
753:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
754:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
755:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the USART one bit sampling method.
|
||
756:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
757:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note
|
||
758:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This function has to be called before calling USART_Init()
|
||
759:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * function in order to have correct baudrate Divider value.
|
||
760:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
761:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
762:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
763:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
930 .loc 1 763 0
|
||
931 .cfi_startproc
|
||
932 @ args = 0, pretend = 0, frame = 0
|
||
933 @ frame_needed = 0, uses_anonymous_args = 0
|
||
934 @ link register save eliminated.
|
||
935 .LVL98:
|
||
764:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
765:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
766:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
767:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
768:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
936 .loc 1 768 0
|
||
937 0000 39B1 cbz r1, .L61
|
||
769:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
770:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the 8x Oversampling mode by setting the OVER8 bit in the CR1 register */
|
||
771:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 |= CR1_OVER8_Set;
|
||
938 .loc 1 771 0
|
||
939 0002 8389 ldrh r3, [r0, #12]
|
||
940 0004 6FEA4343 mvn r3, r3, lsl #17
|
||
941 0008 6FEA5343 mvn r3, r3, lsr #17
|
||
942 000c 9BB2 uxth r3, r3
|
||
943 000e 8381 strh r3, [r0, #12] @ movhi
|
||
944 0010 7047 bx lr
|
||
945 .L61:
|
||
772:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
773:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
774:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
775:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the 8x Oversampling mode by clearing the OVER8 bit in the CR1 register */
|
||
776:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR1 &= CR1_OVER8_Reset;
|
||
946 .loc 1 776 0
|
||
947 0012 8389 ldrh r3, [r0, #12]
|
||
948 0014 C3F30E03 ubfx r3, r3, #0, #15
|
||
949 0018 8381 strh r3, [r0, #12] @ movhi
|
||
950 001a 7047 bx lr
|
||
951 .cfi_endproc
|
||
952 .LFE50:
|
||
954 .section .text.USART_OneBitMethodCmd,"ax",%progbits
|
||
955 .align 2
|
||
956 .global USART_OneBitMethodCmd
|
||
957 .thumb
|
||
958 .thumb_func
|
||
960 USART_OneBitMethodCmd:
|
||
961 .LFB51:
|
||
777:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
778:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
779:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
780:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
781:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART's one bit sampling method.
|
||
782:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
783:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
784:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
785:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the USART one bit sampling method.
|
||
786:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
787:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
788:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
789:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
790:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
962 .loc 1 790 0
|
||
963 .cfi_startproc
|
||
964 @ args = 0, pretend = 0, frame = 0
|
||
965 @ frame_needed = 0, uses_anonymous_args = 0
|
||
966 @ link register save eliminated.
|
||
967 .LVL99:
|
||
791:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
792:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
793:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
794:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
795:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
968 .loc 1 795 0
|
||
969 0000 29B1 cbz r1, .L64
|
||
796:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
797:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the one bit method by setting the ONEBITE bit in the CR3 register */
|
||
798:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= CR3_ONEBITE_Set;
|
||
970 .loc 1 798 0
|
||
971 0002 838A ldrh r3, [r0, #20]
|
||
972 0004 9BB2 uxth r3, r3
|
||
973 0006 43F40063 orr r3, r3, #2048
|
||
974 000a 8382 strh r3, [r0, #20] @ movhi
|
||
975 000c 7047 bx lr
|
||
976 .L64:
|
||
799:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
800:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
801:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
802:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable tthe one bit method by clearing the ONEBITE bit in the CR3 register */
|
||
803:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= CR3_ONEBITE_Reset;
|
||
977 .loc 1 803 0
|
||
978 000e 838A ldrh r3, [r0, #20]
|
||
979 0010 23F40063 bic r3, r3, #2048
|
||
980 0014 1B04 lsls r3, r3, #16
|
||
981 0016 1B0C lsrs r3, r3, #16
|
||
982 0018 8382 strh r3, [r0, #20] @ movhi
|
||
983 001a 7047 bx lr
|
||
984 .cfi_endproc
|
||
985 .LFE51:
|
||
987 .section .text.USART_IrDAConfig,"ax",%progbits
|
||
988 .align 2
|
||
989 .global USART_IrDAConfig
|
||
990 .thumb
|
||
991 .thumb_func
|
||
993 USART_IrDAConfig:
|
||
994 .LFB52:
|
||
804:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
805:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
806:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
807:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
808:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Configures the USART's IrDA interface.
|
||
809:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
810:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
811:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
812:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_IrDAMode: specifies the IrDA mode.
|
||
813:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
814:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IrDAMode_LowPower
|
||
815:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IrDAMode_Normal
|
||
816:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
817:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
818:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_IrDAConfig(USART_TypeDef* USARTx, uint16_t USART_IrDAMode)
|
||
819:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
995 .loc 1 819 0
|
||
996 .cfi_startproc
|
||
997 @ args = 0, pretend = 0, frame = 0
|
||
998 @ frame_needed = 0, uses_anonymous_args = 0
|
||
999 @ link register save eliminated.
|
||
1000 .LVL100:
|
||
820:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
821:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
822:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_IRDA_MODE(USART_IrDAMode));
|
||
823:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
824:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= CR3_IRLP_Mask;
|
||
1001 .loc 1 824 0
|
||
1002 0000 838A ldrh r3, [r0, #20]
|
||
1003 0002 23F00403 bic r3, r3, #4
|
||
1004 0006 1B04 lsls r3, r3, #16
|
||
1005 0008 1B0C lsrs r3, r3, #16
|
||
1006 000a 8382 strh r3, [r0, #20] @ movhi
|
||
825:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= USART_IrDAMode;
|
||
1007 .loc 1 825 0
|
||
1008 000c 838A ldrh r3, [r0, #20]
|
||
1009 000e 9BB2 uxth r3, r3
|
||
1010 0010 1943 orrs r1, r1, r3
|
||
1011 .LVL101:
|
||
1012 0012 8182 strh r1, [r0, #20] @ movhi
|
||
1013 0014 7047 bx lr
|
||
1014 .cfi_endproc
|
||
1015 .LFE52:
|
||
1017 0016 00BF .section .text.USART_IrDACmd,"ax",%progbits
|
||
1018 .align 2
|
||
1019 .global USART_IrDACmd
|
||
1020 .thumb
|
||
1021 .thumb_func
|
||
1023 USART_IrDACmd:
|
||
1024 .LFB53:
|
||
826:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
827:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
828:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
829:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART's IrDA interface.
|
||
830:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
831:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
832:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
833:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the IrDA mode.
|
||
834:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
|
||
835:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
836:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
837:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
||
838:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
1025 .loc 1 838 0
|
||
1026 .cfi_startproc
|
||
1027 @ args = 0, pretend = 0, frame = 0
|
||
1028 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1029 @ link register save eliminated.
|
||
1030 .LVL102:
|
||
839:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
840:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
841:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
|
||
842:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
843:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
|
||
1031 .loc 1 843 0
|
||
1032 0000 29B1 cbz r1, .L68
|
||
844:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
845:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the IrDA mode by setting the IREN bit in the CR3 register */
|
||
846:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= CR3_IREN_Set;
|
||
1033 .loc 1 846 0
|
||
1034 0002 838A ldrh r3, [r0, #20]
|
||
1035 0004 9BB2 uxth r3, r3
|
||
1036 0006 43F00203 orr r3, r3, #2
|
||
1037 000a 8382 strh r3, [r0, #20] @ movhi
|
||
1038 000c 7047 bx lr
|
||
1039 .L68:
|
||
847:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
848:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
849:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
850:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the IrDA mode by clearing the IREN bit in the CR3 register */
|
||
851:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= CR3_IREN_Reset;
|
||
1040 .loc 1 851 0
|
||
1041 000e 838A ldrh r3, [r0, #20]
|
||
1042 0010 23F00203 bic r3, r3, #2
|
||
1043 0014 1B04 lsls r3, r3, #16
|
||
1044 0016 1B0C lsrs r3, r3, #16
|
||
1045 0018 8382 strh r3, [r0, #20] @ movhi
|
||
1046 001a 7047 bx lr
|
||
1047 .cfi_endproc
|
||
1048 .LFE53:
|
||
1050 .section .text.USART_GetFlagStatus,"ax",%progbits
|
||
1051 .align 2
|
||
1052 .global USART_GetFlagStatus
|
||
1053 .thumb
|
||
1054 .thumb_func
|
||
1056 USART_GetFlagStatus:
|
||
1057 .LFB54:
|
||
852:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
853:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
854:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
855:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
856:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Checks whether the specified USART flag is set or not.
|
||
857:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
858:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
859:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
860:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_FLAG: specifies the flag to check.
|
||
861:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
862:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5)
|
||
863:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_LBD: LIN Break detection flag
|
||
864:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_TXE: Transmit data register empty flag
|
||
865:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_TC: Transmission Complete flag
|
||
866:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_RXNE: Receive data register not empty flag
|
||
867:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_IDLE: Idle Line detection flag
|
||
868:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_ORE: OverRun Error flag
|
||
869:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_NE: Noise Error flag
|
||
870:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_FE: Framing Error flag
|
||
871:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_PE: Parity Error flag
|
||
872:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval The new state of USART_FLAG (SET or RESET).
|
||
873:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
874:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)
|
||
875:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
1058 .loc 1 875 0
|
||
1059 .cfi_startproc
|
||
1060 @ args = 0, pretend = 0, frame = 0
|
||
1061 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1062 @ link register save eliminated.
|
||
1063 .LVL103:
|
||
876:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** FlagStatus bitstatus = RESET;
|
||
877:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
878:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
879:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_FLAG(USART_FLAG));
|
||
880:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* The CTS flag is not available for UART4 and UART5 */
|
||
881:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (USART_FLAG == USART_FLAG_CTS)
|
||
882:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
883:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
884:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
885:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
886:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if ((USARTx->SR & USART_FLAG) != (uint16_t)RESET)
|
||
1064 .loc 1 886 0
|
||
1065 0000 0388 ldrh r3, [r0]
|
||
1066 .LVL104:
|
||
1067 0002 1942 tst r1, r3
|
||
887:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
888:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitstatus = SET;
|
||
889:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
890:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
891:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
892:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitstatus = RESET;
|
||
893:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
894:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** return bitstatus;
|
||
895:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
1068 .loc 1 895 0
|
||
1069 0004 14BF ite ne
|
||
1070 0006 0120 movne r0, #1
|
||
1071 .LVL105:
|
||
1072 0008 0020 moveq r0, #0
|
||
1073 000a 7047 bx lr
|
||
1074 .cfi_endproc
|
||
1075 .LFE54:
|
||
1077 .section .text.USART_ClearFlag,"ax",%progbits
|
||
1078 .align 2
|
||
1079 .global USART_ClearFlag
|
||
1080 .thumb
|
||
1081 .thumb_func
|
||
1083 USART_ClearFlag:
|
||
1084 .LFB55:
|
||
896:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
897:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
898:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Clears the USARTx's pending flags.
|
||
899:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
900:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
901:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
902:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_FLAG: specifies the flag to clear.
|
||
903:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be any combination of the following values:
|
||
904:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5).
|
||
905:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_LBD: LIN Break detection flag.
|
||
906:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_TC: Transmission Complete flag.
|
||
907:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_FLAG_RXNE: Receive data register not empty flag.
|
||
908:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *
|
||
909:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note
|
||
910:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - PE (Parity error), FE (Framing error), NE (Noise error), ORE (OverRun
|
||
911:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * error) and IDLE (Idle line detected) flags are cleared by software
|
||
912:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * sequence: a read operation to USART_SR register (USART_GetFlagStatus())
|
||
913:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * followed by a read operation to USART_DR register (USART_ReceiveData()).
|
||
914:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - RXNE flag can be also cleared by a read to the USART_DR register
|
||
915:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * (USART_ReceiveData()).
|
||
916:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - TC flag can be also cleared by software sequence: a read operation to
|
||
917:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART_SR register (USART_GetFlagStatus()) followed by a write operation
|
||
918:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * to USART_DR register (USART_SendData()).
|
||
919:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - TXE flag is cleared only by a write to the USART_DR register
|
||
920:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * (USART_SendData()).
|
||
921:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
922:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
923:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG)
|
||
924:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
1085 .loc 1 924 0
|
||
1086 .cfi_startproc
|
||
1087 @ args = 0, pretend = 0, frame = 0
|
||
1088 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1089 @ link register save eliminated.
|
||
1090 .LVL106:
|
||
925:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
926:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
927:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_CLEAR_FLAG(USART_FLAG));
|
||
928:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* The CTS flag is not available for UART4 and UART5 */
|
||
929:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if ((USART_FLAG & USART_FLAG_CTS) == USART_FLAG_CTS)
|
||
930:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
931:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
932:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
933:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
934:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->SR = (uint16_t)~USART_FLAG;
|
||
1091 .loc 1 934 0
|
||
1092 0000 C943 mvns r1, r1
|
||
1093 .LVL107:
|
||
1094 0002 89B2 uxth r1, r1
|
||
1095 0004 0180 strh r1, [r0] @ movhi
|
||
1096 0006 7047 bx lr
|
||
1097 .cfi_endproc
|
||
1098 .LFE55:
|
||
1100 .section .text.USART_GetITStatus,"ax",%progbits
|
||
1101 .align 2
|
||
1102 .global USART_GetITStatus
|
||
1103 .thumb
|
||
1104 .thumb_func
|
||
1106 USART_GetITStatus:
|
||
1107 .LFB56:
|
||
935:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
936:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
937:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
938:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Checks whether the specified USART interrupt has occurred or not.
|
||
939:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
940:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
941:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
942:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_IT: specifies the USART interrupt source to check.
|
||
943:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
944:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)
|
||
945:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_LBD: LIN Break detection interrupt
|
||
946:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_TXE: Tansmit Data Register empty interrupt
|
||
947:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_TC: Transmission complete interrupt
|
||
948:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_RXNE: Receive Data register not empty interrupt
|
||
949:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_IDLE: Idle line detection interrupt
|
||
950:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_ORE: OverRun Error interrupt
|
||
951:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_NE: Noise Error interrupt
|
||
952:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_FE: Framing Error interrupt
|
||
953:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_PE: Parity Error interrupt
|
||
954:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval The new state of USART_IT (SET or RESET).
|
||
955:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
956:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT)
|
||
957:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
1108 .loc 1 957 0
|
||
1109 .cfi_startproc
|
||
1110 @ args = 0, pretend = 0, frame = 0
|
||
1111 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1112 @ link register save eliminated.
|
||
1113 .LVL108:
|
||
1114 0000 10B4 push {r4}
|
||
1115 .cfi_def_cfa_offset 4
|
||
1116 .cfi_offset 4, -4
|
||
1117 .LVL109:
|
||
958:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t bitpos = 0x00, itmask = 0x00, usartreg = 0x00;
|
||
959:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** ITStatus bitstatus = RESET;
|
||
960:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
961:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
962:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_GET_IT(USART_IT));
|
||
963:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* The CTS interrupt is not available for UART4 and UART5 */
|
||
964:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (USART_IT == USART_IT_CTS)
|
||
965:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
966:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
967:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
968:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
969:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Get the USART register index */
|
||
970:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartreg = (((uint8_t)USART_IT) >> 0x05);
|
||
1118 .loc 1 970 0
|
||
1119 0002 C1F34212 ubfx r2, r1, #5, #3
|
||
1120 .LVL110:
|
||
971:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Get the interrupt position */
|
||
972:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask = USART_IT & IT_Mask;
|
||
973:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask = (uint32_t)0x01 << itmask;
|
||
1121 .loc 1 973 0
|
||
1122 0006 01F01F04 and r4, r1, #31
|
||
1123 000a 0123 movs r3, #1
|
||
1124 000c A340 lsls r3, r3, r4
|
||
1125 .LVL111:
|
||
974:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
975:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (usartreg == 0x01) /* The IT is in CR1 register */
|
||
1126 .loc 1 975 0
|
||
1127 000e 012A cmp r2, #1
|
||
1128 0010 03D1 bne .L73
|
||
976:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
977:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask &= USARTx->CR1;
|
||
1129 .loc 1 977 0
|
||
1130 0012 8289 ldrh r2, [r0, #12]
|
||
1131 .LVL112:
|
||
1132 0014 92B2 uxth r2, r2
|
||
1133 0016 1340 ands r3, r3, r2
|
||
1134 .LVL113:
|
||
1135 0018 05E0 b .L74
|
||
1136 .LVL114:
|
||
1137 .L73:
|
||
978:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
979:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else if (usartreg == 0x02) /* The IT is in CR2 register */
|
||
1138 .loc 1 979 0
|
||
1139 001a 022A cmp r2, #2
|
||
980:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
981:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask &= USARTx->CR2;
|
||
1140 .loc 1 981 0
|
||
1141 001c 0CBF ite eq
|
||
1142 001e 028A ldrheq r2, [r0, #16]
|
||
1143 .LVL115:
|
||
982:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
983:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else /* The IT is in CR3 register */
|
||
984:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
985:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask &= USARTx->CR3;
|
||
1144 .loc 1 985 0
|
||
1145 0020 828A ldrhne r2, [r0, #20]
|
||
1146 0022 92B2 uxth r2, r2
|
||
1147 0024 1340 ands r3, r3, r2
|
||
1148 .LVL116:
|
||
1149 .L74:
|
||
986:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
987:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
988:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitpos = USART_IT >> 0x08;
|
||
989:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitpos = (uint32_t)0x01 << bitpos;
|
||
990:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitpos &= USARTx->SR;
|
||
1150 .loc 1 990 0
|
||
1151 0026 0288 ldrh r2, [r0]
|
||
1152 0028 92B2 uxth r2, r2
|
||
1153 .LVL117:
|
||
991:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if ((itmask != (uint16_t)RESET)&&(bitpos != (uint16_t)RESET))
|
||
1154 .loc 1 991 0
|
||
1155 002a 3BB1 cbz r3, .L77
|
||
989:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitpos &= USARTx->SR;
|
||
1156 .loc 1 989 0 discriminator 1
|
||
1157 002c 090A lsrs r1, r1, #8
|
||
1158 .LVL118:
|
||
1159 002e 0123 movs r3, #1
|
||
1160 .LVL119:
|
||
1161 0030 8B40 lsls r3, r3, r1
|
||
1162 .loc 1 991 0 discriminator 1
|
||
1163 0032 1342 tst r3, r2
|
||
992:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
993:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitstatus = SET;
|
||
1164 .loc 1 993 0 discriminator 1
|
||
1165 0034 14BF ite ne
|
||
1166 0036 0120 movne r0, #1
|
||
1167 .LVL120:
|
||
1168 0038 0020 moveq r0, #0
|
||
1169 003a 00E0 b .L76
|
||
1170 .LVL121:
|
||
1171 .L77:
|
||
994:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
995:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
|
||
996:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
997:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitstatus = RESET;
|
||
1172 .loc 1 997 0
|
||
1173 003c 0020 movs r0, #0
|
||
1174 .LVL122:
|
||
1175 .L76:
|
||
998:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
999:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
1000:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** return bitstatus;
|
||
1001:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
1176 .loc 1 1001 0
|
||
1177 003e 5DF8044B ldr r4, [sp], #4
|
||
1178 .cfi_restore 4
|
||
1179 .cfi_def_cfa_offset 0
|
||
1180 0042 7047 bx lr
|
||
1181 .cfi_endproc
|
||
1182 .LFE56:
|
||
1184 .section .text.USART_ClearITPendingBit,"ax",%progbits
|
||
1185 .align 2
|
||
1186 .global USART_ClearITPendingBit
|
||
1187 .thumb
|
||
1188 .thumb_func
|
||
1190 USART_ClearITPendingBit:
|
||
1191 .LFB57:
|
||
1002:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
1003:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
|
||
1004:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Clears the USARTx's interrupt pending bits.
|
||
1005:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
|
||
1006:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
1007:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
|
||
1008:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_IT: specifies the interrupt pending bit to clear.
|
||
1009:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
|
||
1010:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)
|
||
1011:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_LBD: LIN Break detection interrupt
|
||
1012:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_TC: Transmission complete interrupt.
|
||
1013:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_IT_RXNE: Receive Data register not empty interrupt.
|
||
1014:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *
|
||
1015:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note
|
||
1016:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - PE (Parity error), FE (Framing error), NE (Noise error), ORE (OverRun
|
||
1017:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * error) and IDLE (Idle line detected) pending bits are cleared by
|
||
1018:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * software sequence: a read operation to USART_SR register
|
||
1019:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * (USART_GetITStatus()) followed by a read operation to USART_DR register
|
||
1020:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * (USART_ReceiveData()).
|
||
1021:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - RXNE pending bit can be also cleared by a read to the USART_DR register
|
||
1022:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * (USART_ReceiveData()).
|
||
1023:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - TC pending bit can be also cleared by software sequence: a read
|
||
1024:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * operation to USART_SR register (USART_GetITStatus()) followed by a write
|
||
1025:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * operation to USART_DR register (USART_SendData()).
|
||
1026:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * - TXE pending bit is cleared only by a write to the USART_DR register
|
||
1027:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * (USART_SendData()).
|
||
1028:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval None
|
||
1029:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
|
||
1030:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT)
|
||
1031:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
1192 .loc 1 1031 0
|
||
1193 .cfi_startproc
|
||
1194 @ args = 0, pretend = 0, frame = 0
|
||
1195 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1196 @ link register save eliminated.
|
||
1197 .LVL123:
|
||
1032:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint16_t bitpos = 0x00, itmask = 0x00;
|
||
1033:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
|
||
1034:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
|
||
1035:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_CLEAR_IT(USART_IT));
|
||
1036:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* The CTS interrupt is not available for UART4 and UART5 */
|
||
1037:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (USART_IT == USART_IT_CTS)
|
||
1038:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
|
||
1039:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_123_PERIPH(USARTx));
|
||
1040:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
|
||
1041:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
|
||
1042:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** bitpos = USART_IT >> 0x08;
|
||
1043:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask = ((uint16_t)0x01 << (uint16_t)bitpos);
|
||
1198 .loc 1 1043 0
|
||
1199 0000 090A lsrs r1, r1, #8
|
||
1200 .LVL124:
|
||
1201 0002 0123 movs r3, #1
|
||
1202 0004 8B40 lsls r3, r3, r1
|
||
1044:./lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->SR = (uint16_t)~itmask;
|
||
1203 .loc 1 1044 0
|
||
1204 0006 DB43 mvns r3, r3
|
||
1205 0008 9BB2 uxth r3, r3
|
||
1206 000a 0380 strh r3, [r0] @ movhi
|
||
1207 000c 7047 bx lr
|
||
1208 .cfi_endproc
|
||
1209 .LFE57:
|
||
1211 000e 00BF .text
|
||
1212 .Letext0:
|
||
1213 .file 2 "c:\\program files (x86)\\gnu tools arm embedded\\4.9 2015q1\\arm-none-eabi\\include\\mach
|
||
1214 .file 3 "c:\\program files (x86)\\gnu tools arm embedded\\4.9 2015q1\\arm-none-eabi\\include\\stdi
|
||
1215 .file 4 "./lib/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h"
|
||
1216 .file 5 "./lib/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h"
|
||
1217 .file 6 "./lib/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h"
|
||
1218 .file 7 "./lib/CMSIS/CM3/CoreSupport/core_cm3.h"
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 stm32f10x_usart.c
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:19 .text.USART_DeInit:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:24 .text.USART_DeInit:00000000 USART_DeInit
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:128 .text.USART_DeInit:00000090 $d
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:137 .text.USART_Init:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:142 .text.USART_Init:00000000 USART_Init
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:289 .text.USART_Init:000000b0 $d
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:295 .text.USART_StructInit:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:300 .text.USART_StructInit:00000000 USART_StructInit
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:328 .text.USART_ClockInit:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:333 .text.USART_ClockInit:00000000 USART_ClockInit
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:376 .text.USART_ClockStructInit:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:381 .text.USART_ClockStructInit:00000000 USART_ClockStructInit
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:403 .text.USART_Cmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:408 .text.USART_Cmd:00000000 USART_Cmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:436 .text.USART_ITConfig:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:441 .text.USART_ITConfig:00000000 USART_ITConfig
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:509 .text.USART_DMACmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:514 .text.USART_DMACmd:00000000 USART_DMACmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:544 .text.USART_SetAddress:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:549 .text.USART_SetAddress:00000000 USART_SetAddress
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:574 .text.USART_WakeUpConfig:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:579 .text.USART_WakeUpConfig:00000000 USART_WakeUpConfig
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:604 .text.USART_ReceiverWakeUpCmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:609 .text.USART_ReceiverWakeUpCmd:00000000 USART_ReceiverWakeUpCmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:637 .text.USART_LINBreakDetectLengthConfig:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:642 .text.USART_LINBreakDetectLengthConfig:00000000 USART_LINBreakDetectLengthConfig
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:667 .text.USART_LINCmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:672 .text.USART_LINCmd:00000000 USART_LINCmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:700 .text.USART_SendData:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:705 .text.USART_SendData:00000000 USART_SendData
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:722 .text.USART_ReceiveData:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:727 .text.USART_ReceiveData:00000000 USART_ReceiveData
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:745 .text.USART_SendBreak:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:750 .text.USART_SendBreak:00000000 USART_SendBreak
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:768 .text.USART_SetGuardTime:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:773 .text.USART_SetGuardTime:00000000 USART_SetGuardTime
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:796 .text.USART_SetPrescaler:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:801 .text.USART_SetPrescaler:00000000 USART_SetPrescaler
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:824 .text.USART_SmartCardCmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:829 .text.USART_SmartCardCmd:00000000 USART_SmartCardCmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:857 .text.USART_SmartCardNACKCmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:862 .text.USART_SmartCardNACKCmd:00000000 USART_SmartCardNACKCmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:890 .text.USART_HalfDuplexCmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:895 .text.USART_HalfDuplexCmd:00000000 USART_HalfDuplexCmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:923 .text.USART_OverSampling8Cmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:928 .text.USART_OverSampling8Cmd:00000000 USART_OverSampling8Cmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:955 .text.USART_OneBitMethodCmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:960 .text.USART_OneBitMethodCmd:00000000 USART_OneBitMethodCmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:988 .text.USART_IrDAConfig:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:993 .text.USART_IrDAConfig:00000000 USART_IrDAConfig
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1018 .text.USART_IrDACmd:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1023 .text.USART_IrDACmd:00000000 USART_IrDACmd
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1051 .text.USART_GetFlagStatus:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1056 .text.USART_GetFlagStatus:00000000 USART_GetFlagStatus
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1078 .text.USART_ClearFlag:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1083 .text.USART_ClearFlag:00000000 USART_ClearFlag
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1101 .text.USART_GetITStatus:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1106 .text.USART_GetITStatus:00000000 USART_GetITStatus
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1185 .text.USART_ClearITPendingBit:00000000 $t
|
||
C:\Users\lwngim1\AppData\Local\Temp\ccZauMuc.s:1190 .text.USART_ClearITPendingBit:00000000 USART_ClearITPendingBit
|
||
.debug_frame:00000010 $d
|
||
|
||
UNDEFINED SYMBOLS
|
||
RCC_APB2PeriphResetCmd
|
||
RCC_APB1PeriphResetCmd
|
||
RCC_GetClocksFreq
|