Rev 20 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 1
1 .cpu cortex-m3
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "stm32f1xx_hal_uart.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.UART_EndTxTransfer,"ax",%progbits
16 .align 1
17 .arch armv7-m
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu softvfp
23 UART_EndTxTransfer:
24 .LVL0:
25 .LFB109:
26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c"
1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ******************************************************************************
3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @file stm32f1xx_hal_uart.c
4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @author MCD Application Team
5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART HAL module driver.
6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * functionalities of the Universal Asynchronous Receiver Transmitter Peripheral (UART).
8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * + IO operation functions
10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * + Peripheral Control functions
11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * + Peripheral State and Errors functions
12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @verbatim
13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==============================================================================
14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ##### How to use this driver #####
15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==============================================================================
16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** The UART HAL driver can be used as follows:
18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) Declare a UART_HandleTypeDef handle structure (eg. UART_HandleTypeDef huart).
20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) Initialize the UART low level resources by implementing the HAL_UART_MspInit() API:
21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (##) Enable the USARTx interface clock.
22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (##) UART pins configuration:
23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Enable the clock for the UART GPIOs.
24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Configure these UART pins (TX as alternate function pull-up, RX as alternate func
25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (##) NVIC configuration if you need to use interrupt process (HAL_UART_Transmit_IT()
26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and HAL_UART_Receive_IT() APIs):
27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority.
28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Enable the NVIC USART IRQ handle.
29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (##) DMA Configuration if you need to use DMA process (HAL_UART_Transmit_DMA()
30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and HAL_UART_Receive_DMA() APIs):
31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Declare a DMA handle structure for the Tx/Rx channel.
32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Enable the DMAx interface clock.
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 2
33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Configure the declared DMA handle structure with the required
34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Tx/Rx parameters.
35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Configure the DMA Tx/Rx channel.
36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Associate the initialized DMA handle to the UART DMA Tx/Rx handle.
37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** interrupt on the DMA Tx/Rx channel.
39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+++) Configure the USARTx interrupt priority and enable the NVIC USART IRQ handle
40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (used for last byte sending completion detection in DMA non circular mode)
41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) Program the Baud Rate, Word Length, Stop Bit, Parity, Hardware
43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** flow control and Mode(Receiver/Transmitter) in the huart Init structure.
44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) For the UART asynchronous mode, initialize the UART registers by calling
46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_Init() API.
47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) For the UART Half duplex mode, initialize the UART registers by calling
49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_HalfDuplex_Init() API.
50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) For the LIN mode, initialize the UART registers by calling the HAL_LIN_Init() API.
52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) For the Multi-Processor mode, initialize the UART registers by calling
54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_MultiProcessor_Init() API.
55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (@) The specific UART interrupts (Transmission complete interrupt,
58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** RXNE interrupt and Error Interrupts) will be managed using the macros
59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE_IT() and __HAL_UART_DISABLE_IT() inside the transmit
60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and receive process.
61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (@) These APIs (HAL_UART_Init() and HAL_HalfDuplex_Init()) configure also the
64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** low level Hardware GPIO, CLOCK, CORTEX...etc) by calling the customized
65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_MspInit() API.
66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ##### Callback registration #####
68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==================================
69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** The compilation define USE_HAL_UART_REGISTER_CALLBACKS when set to 1
72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** allows the user to configure dynamically the driver callbacks.
73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Use Function @ref HAL_UART_RegisterCallback() to register a user callback.
76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Function @ref HAL_UART_RegisterCallback() allows to register following callbacks:
77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and a pointer to the user callback function.
89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 3
90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Use function @ref HAL_UART_UnRegisterCallback() to reset a callback to the default
92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** weak (surcharged) function.
93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @ref HAL_UART_UnRegisterCallback() takes as parameters the HAL peripheral handle,
94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and the Callback ID.
95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** This function allows to reset following callbacks:
96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) TxHalfCpltCallback : Tx Half Complete Callback.
97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) TxCpltCallback : Tx Complete Callback.
98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) RxHalfCpltCallback : Rx Half Complete Callback.
99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) RxCpltCallback : Rx Complete Callback.
100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) ErrorCallback : Error Callback.
101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) AbortCpltCallback : Abort Complete Callback.
102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) AbortTransmitCpltCallback : Abort Transmit Complete Callback.
103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) AbortReceiveCpltCallback : Abort Receive Complete Callback.
104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) MspInitCallback : UART MspInit.
105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) MspDeInitCallback : UART MspDeInit.
106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** By default, after the @ref HAL_UART_Init() and when the state is HAL_UART_STATE_RESET
109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** all callbacks are set to the corresponding weak (surcharged) functions:
110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** examples @ref HAL_UART_TxCpltCallback(), @ref HAL_UART_RxHalfCpltCallback().
111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Exception done for MspInit and MspDeInit functions that are respectively
112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** reset to the legacy weak (surcharged) functions in the @ref HAL_UART_Init()
113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and @ref HAL_UART_DeInit() only when these callbacks are null (not registered beforehand).
114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** If not, MspInit or MspDeInit are not null, the @ref HAL_UART_Init() and @ref HAL_UART_DeInit()
115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand).
116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Callbacks can be registered/unregistered in HAL_UART_STATE_READY state only.
119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in HAL_UART_STATE_READY or HAL_UART_STATE_RESET state, thus registered (user)
121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** MspInit/DeInit callbacks can be used during the Init/DeInit.
122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** In that case first register the MspInit/MspDeInit user callbacks
123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** using @ref HAL_UART_RegisterCallback() before calling @ref HAL_UART_DeInit()
124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** or @ref HAL_UART_Init() function.
125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** When The compilation define USE_HAL_UART_REGISTER_CALLBACKS is set to 0 or
128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** not defined, the callback registration feature is not available
129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and weak (surcharged) callbacks are used.
130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Three operation modes are available within this driver :
133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *** Polling mode IO operation ***
135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** =================================
136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Send an amount of data in blocking mode using HAL_UART_Transmit()
138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Receive an amount of data in blocking mode using HAL_UART_Receive()
139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *** Interrupt mode IO operation ***
141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ===================================
142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Send an amount of data in non blocking mode using HAL_UART_Transmit_IT()
144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode using HAL_UART_Receive_IT()
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 4
147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *** DMA mode IO operation ***
153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==============================
154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Send an amount of data in non blocking mode (DMA) using HAL_UART_Transmit_DMA()
156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) At transmission end of half transfer HAL_UART_TxHalfCpltCallback is executed and user ca
157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxHalfCpltCallback
158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) At transmission end of transfer HAL_UART_TxCpltCallback is executed and user can
159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_TxCpltCallback
160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Receive an amount of data in non blocking mode (DMA) using HAL_UART_Receive_DMA()
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) At reception end of half transfer HAL_UART_RxHalfCpltCallback is executed and user can
162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxHalfCpltCallback
163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) At reception end of transfer HAL_UART_RxCpltCallback is executed and user can
164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_RxCpltCallback
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) In case of transfer Error, HAL_UART_ErrorCallback() function is executed and user can
166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** add his own code by customization of function pointer HAL_UART_ErrorCallback
167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Pause the DMA Transfer using HAL_UART_DMAPause()
168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Resume the DMA Transfer using HAL_UART_DMAResume()
169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Stop the DMA Transfer using HAL_UART_DMAStop()
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *** UART HAL driver macros list ***
172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** =============================================
173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Below the list of most used macros in UART HAL driver.
175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) __HAL_UART_ENABLE: Enable the UART peripheral
177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) __HAL_UART_DISABLE: Disable the UART peripheral
178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) __HAL_UART_GET_FLAG : Check whether the specified UART flag is set or not
179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) __HAL_UART_CLEAR_FLAG : Clear the specified UART pending flag
180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) __HAL_UART_ENABLE_IT: Enable the specified UART interrupt
181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) __HAL_UART_DISABLE_IT: Disable the specified UART interrupt
182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) __HAL_UART_GET_IT_SOURCE: Check whether the specified UART interrupt has occurred or not
183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (@) You can refer to the UART HAL driver header file for more useful macros
186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @endverbatim
188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (@) Additionnal remark: If the parity is enabled, then the MSB bit of the data written
190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the possible UART frame formats are as listed in the following table:
193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** +-------------------------------------------------------------+
194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** | M bit | PCE bit | UART frame |
195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** |---------------------|---------------------------------------|
196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** | 0 | 0 | | SB | 8 bit data | STB | |
197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** |---------|-----------|---------------------------------------|
198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** | 0 | 1 | | SB | 7 bit data | PB | STB | |
199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** |---------|-----------|---------------------------------------|
200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** | 1 | 0 | | SB | 9 bit data | STB | |
201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** |---------|-----------|---------------------------------------|
202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** | 1 | 1 | | SB | 8 bit data | PB | STB | |
203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** +-------------------------------------------------------------+
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 5
204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ******************************************************************************
205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @attention
206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *
207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * <h2><center>© Copyright (c) 2016 STMicroelectronics.
208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * All rights reserved.</center></h2>
209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *
210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This software component is licensed by ST under BSD 3-Clause license,
211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the "License"; You may not use this file except in compliance with the
212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * License. You may obtain a copy of the License at:
213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * opensource.org/licenses/BSD-3-Clause
214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *
215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ******************************************************************************
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Includes ------------------------------------------------------------------*/
219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #include "stm32f1xx_hal.h"
220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @addtogroup STM32F1xx_HAL_Driver
222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @defgroup UART UART
226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief HAL UART module driver
227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #ifdef HAL_UART_MODULE_ENABLED
230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Private typedef -----------------------------------------------------------*/
232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Private define ------------------------------------------------------------*/
233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @addtogroup UART_Private_Constants
234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @}
238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Private macro -------------------------------------------------------------*/
240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Private variables ---------------------------------------------------------*/
241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Private function prototypes -----------------------------------------------*/
242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @addtogroup UART_Private_Functions UART Private Functions
243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart);
248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart);
250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart);
251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma);
252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma);
254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma);
255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma);
256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma);
257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma);
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 6
261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart);
262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart);
263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart);
264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart);
266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @}
269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Exported functions ---------------------------------------------------------*/
272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @defgroup UART_Exported_Functions UART Exported Functions
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group1 Initialization and de-initialization functions
277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Initialization and Configuration functions
278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @verbatim
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ===============================================================================
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ##### Initialization and Configuration functions #####
282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ===============================================================================
283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** This subsection provides a set of functions allowing to initialize the USARTx or the UARTy
285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in asynchronous mode.
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) For the asynchronous mode only these parameters can be configured:
287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (++) Baud Rate
288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (++) Word Length
289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (++) Stop Bit
290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (++) Parity: If the parity is enabled, then the MSB bit of the data written
291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in the data register is transmitted but is changed by the parity bit.
292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Depending on the frame length defined by the M bit (8-bits or 9-bits),
293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** please refer to Reference manual for possible UART frame formats.
294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (++) Hardware flow control
295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (++) Receiver/transmitter modes
296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (++) Over Sampling Method
297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** The HAL_UART_Init(), HAL_HalfDuplex_Init(), HAL_LIN_Init() and HAL_MultiProcessor_Init() APIs
299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** follow respectively the UART asynchronous, UART Half duplex, LIN and Multi-Processor configurat
300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** procedures (details for the procedures are available in reference manuals
301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (RM0008 for STM32F10Xxx MCUs and RM0041 for STM32F100xx MCUs)).
302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @endverbatim
304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Initializes the UART mode according to the specified parameters in
309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the UART_InitTypeDef and create the associated handle.
310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart == NULL)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 7
318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.HwFlowCtl != UART_HWCONTROL_NONE)
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* The hardware flow control is available only for USART1, USART2 and USART3 */
326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_HWFLOW_INSTANCE(huart->Instance));
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart->Init.HwFlowCtl));
328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USART_CR1_OVER8 */
337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Allocate lock resource and initialize it */
341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware */
352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback(huart);
353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_MspInit(huart);
356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the peripheral */
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART Communication parameters */
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_SetConfig(huart);
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* In asynchronous mode, the following bits must be kept cleared:
368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the peripheral */
374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 8
375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Initialize the UART state */
377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Initializes the half-duplex mode according to the specified
386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart)
392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart == NULL)
395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_HALFDUPLEX_INSTANCE(huart->Instance));
401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USART_CR1_OVER8 */
405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Allocate lock resource and initialize it */
409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware */
420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback(huart);
421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_MspInit(huart);
424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the peripheral */
430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 9
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART Communication parameters */
433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_SetConfig(huart);
434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* In half-duplex mode, the following bits must be kept cleared:
436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - SCEN and IREN bits in the USART_CR3 register.*/
438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_HDSEL);
443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the peripheral */
445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Initialize the UART state*/
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Initializes the LIN mode according to the specified
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param BreakDetectLength Specifies the LIN break detection length.
461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This parameter can be one of the following values:
462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_10B: 10-bit break detection
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg UART_LINBREAKDETECTLENGTH_11B: 11-bit break detection
464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength)
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart == NULL)
470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the LIN UART instance */
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_LIN_INSTANCE(huart->Instance));
476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the Break detection length parameter */
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_LIN_BREAK_DETECT_LENGTH(BreakDetectLength));
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_LIN_OVERSAMPLING(huart->Init.OverSampling));
482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USART_CR1_OVER8 */
483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Allocate lock resource and initialize it */
487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 10
489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware */
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback(huart);
499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_MspInit(huart);
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the peripheral */
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART Communication parameters */
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_SetConfig(huart);
512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* In LIN mode, the following bits must be kept cleared:
514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - CLKEN bits in the USART_CR2 register,
515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/
516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_CLKEN));
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the LIN mode by setting the LINEN bit in the CR2 register */
520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, USART_CR2_LINEN);
521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the USART LIN Break detection length. */
523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_LBDL);
524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the peripheral */
527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Initialize the UART state*/
530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Initializes the Multi-Processor mode according to the specified
539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * parameters in the UART_InitTypeDef and create the associated handle.
540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Address USART address
543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param WakeUpMethod specifies the USART wake-up method.
544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This parameter can be one of the following values:
545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_IDLELINE: Wake-up by an idle line detection
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 11
546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg UART_WAKEUPMETHOD_ADDRESSMARK: Wake-up by an address mark
547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t Wake
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart == NULL)
553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the Address & wake up method parameters */
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_WAKEUPMETHOD(WakeUpMethod));
562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_OVERSAMPLING(huart->Init.OverSampling));
566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USART_CR1_OVER8 */
567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_RESET)
569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Allocate lock resource and initialize it */
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Lock = HAL_UNLOCKED;
572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_InitCallbacksToDefault(huart);
575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->MspInitCallback == NULL)
577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware */
582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback(huart);
583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the low level hardware : GPIO, CLOCK */
585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_MspInit(huart);
586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the peripheral */
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART Communication parameters */
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_SetConfig(huart);
596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* In Multi-Processor mode, the following bits must be kept cleared:
598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - LINEN and CLKEN bits in the USART_CR2 register,
599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** - SCEN, HDSEL and IREN bits in the USART_CR3 register */
600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 12
603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the USART address node */
604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR2, USART_CR2_ADD);
605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the wake up method by setting the WAKE bit in the CR1 register */
608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_WAKE);
609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the peripheral */
612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE(huart);
613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Initialize the UART state */
615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DeInitializes the UART peripheral.
624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart)
629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart == NULL)
632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the Peripheral */
642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE(huart);
643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->MspDeInitCallback == NULL)
646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DeInit the low level hardware */
650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspDeInitCallback(huart);
651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DeInit the low level hardware */
653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_MspDeInit(huart);
654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 13
660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlock */
661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART MSP Init.
668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_MspInit(UART_HandleTypeDef *huart)
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_MspInit could be implemented in the user file
678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART MSP DeInit.
683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_MspDeInit could be implemented in the user file
693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Register a User UART Callback
699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * To be used instead of the weak predefined callback
700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart uart handle
701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param CallbackID ID of the callback to be registered
702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This parameter can be one of the following values:
703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param pCallback pointer to the Callback function
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_RegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef C
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 14
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (pCallback == NULL)
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Update the error code */
723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process locked */
728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** switch (CallbackID)
733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxHalfCpltCallback = pCallback;
736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxCpltCallback = pCallback;
740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxHalfCpltCallback = pCallback;
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxCpltCallback = pCallback;
748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback = pCallback;
752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortCpltCallback = pCallback;
756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortTransmitCpltCallback = pCallback;
760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortReceiveCpltCallback = pCallback;
764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = pCallback;
768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 15
774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** default :
775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Update the error code */
776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Return error status */
779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** status = HAL_ERROR;
780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else if (huart->gState == HAL_UART_STATE_RESET)
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** switch (CallbackID)
786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = pCallback;
789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspDeInitCallback = pCallback;
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** default :
796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Update the error code */
797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Return error status */
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** status = HAL_ERROR;
801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Update the error code */
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Return error status */
810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** status = HAL_ERROR;
811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Release Lock */
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return status;
817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Unregister an UART Callback
821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * UART callaback is redirected to the weak predefined callback
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart uart handle
823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param CallbackID ID of the callback to be unregistered
824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This parameter can be one of the following values:
825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_TX_HALFCOMPLETE_CB_ID Tx Half Complete Callback ID
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_TX_COMPLETE_CB_ID Tx Complete Callback ID
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_RX_HALFCOMPLETE_CB_ID Rx Half Complete Callback ID
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_RX_COMPLETE_CB_ID Rx Complete Callback ID
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ERROR_CB_ID Error Callback ID
830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_COMPLETE_CB_ID Abort Complete Callback ID
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 16
831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID Abort Transmit Complete Callback ID
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID Abort Receive Complete Callback ID
833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_MSPINIT_CB_ID MspInit Callback ID
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @arg @ref HAL_UART_MSPDEINIT_CB_ID MspDeInit Callback ID
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_UnRegisterCallback(UART_HandleTypeDef *huart, HAL_UART_CallbackIDTypeDef
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef status = HAL_OK;
840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process locked */
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_UART_STATE_READY == huart->gState)
845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** switch (CallbackID)
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_TX_HALFCOMPLETE_CB_ID :
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHa
850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_TX_COMPLETE_CB_ID :
853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpl
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_RX_HALFCOMPLETE_CB_ID :
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHal
858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_RX_COMPLETE_CB_ID :
861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpl
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ERROR_CB_ID :
865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak Error
866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ABORT_COMPLETE_CB_ID :
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak Abort
870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ABORT_TRANSMIT_COMPLETE_CB_ID :
873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak Abort
874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_ABORT_RECEIVE_COMPLETE_CB_ID :
877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak Abort
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit; /* Legacy weak MspIn
882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit; /* Legacy weak MspDe
886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 17
888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** default :
889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Update the error code */
890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Return error status */
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** status = HAL_ERROR;
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else if (HAL_UART_STATE_RESET == huart->gState)
898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** switch (CallbackID)
900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPINIT_CB_ID :
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspInitCallback = HAL_UART_MspInit;
903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** case HAL_UART_MSPDEINIT_CB_ID :
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->MspDeInitCallback = HAL_UART_MspDeInit;
907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** default :
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Update the error code */
911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Return error status */
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** status = HAL_ERROR;
915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** break;
916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Update the error code */
921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_INVALID_CALLBACK;
922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Return error status */
924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** status = HAL_ERROR;
925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Release Lock */
928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return status;
931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @}
936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group2 IO operation functions
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART Transmit and Receive functions
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *
941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @verbatim
942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ===============================================================================
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ##### IO operation functions #####
944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ===============================================================================
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 18
945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** This subsection provides a set of functions allowing to manage the UART asynchronous
946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and Half duplex data transfers.
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) There are two modes of transfer:
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Blocking mode: The communication is performed in polling mode.
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** The HAL status of all data processing is returned by the same function
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** after finishing transfer.
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Non-Blocking mode: The communication is performed using Interrupts
953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** or DMA, these API's return the HAL status.
954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** The end of the data processing will be indicated through the
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dedicated UART IRQ when using Interrupt mode or the DMA IRQ when
956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** using DMA mode.
957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** The HAL_UART_TxCpltCallback(), HAL_UART_RxCpltCallback() user callbacks
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** will be executed respectively at the end of the transmit or receive process
959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** The HAL_UART_ErrorCallback()user callback will be executed when a communication error is
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) Blocking mode API's are :
962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Transmit()
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Receive()
964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) Non-Blocking mode API's with Interrupt are :
966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Transmit_IT()
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Receive_IT()
968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_IRQHandler()
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) Non-Blocking mode API's with DMA are :
971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Transmit_DMA()
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Receive_DMA()
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_DMAPause()
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_DMAResume()
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_DMAStop()
976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) A set of Transfer Complete Callbacks are provided in Non_Blocking mode:
978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_TxHalfCpltCallback()
979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_TxCpltCallback()
980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_RxHalfCpltCallback()
981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_RxCpltCallback()
982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_ErrorCallback()
983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) Non-Blocking mode transfers could be aborted using Abort API's :
985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Abort()
986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_AbortTransmit()
987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_AbortReceive()
988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_Abort_IT()
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_AbortTransmit_IT()
990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_AbortReceive_IT()
991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) For Abort services based on interrupts (HAL_UART_Abortxxx_IT), a set of Abort Complete Call
993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_AbortCpltCallback()
994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_AbortTransmitCpltCallback()
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_AbortReceiveCpltCallback()
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (#) In Non-Blocking mode transfers, possible errors are split into 2 categories.
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Errors are handled as follows :
999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Error is considered as Recoverable and non blocking : Transfer could go till end, but er
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** to be evaluated by user : this concerns Frame Error, Parity Error or Noise Error in Inte
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Received character is then retrieved and stored in Rx buffer, Error code is set to allow
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 19
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and HAL_UART_ErrorCallback() user callback is executed. Transfer is kept ongoing on UART
1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** If user wants to abort it, Abort services should be called by user.
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) Error is considered as Blocking : Transfer could not be completed properly and is aborte
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** This concerns Overrun Error In Interrupt mode reception and all errors in DMA mode.
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Error code is set to allow user to identify error type, and HAL_UART_ErrorCallback() use
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** -@- In the Half duplex communication, it is forbidden to run the transmit
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and receive process in parallel, the UART state HAL_UART_STATE_BUSY_TX_RX can't be useful.
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @endverbatim
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Sends an amount of data in blocking mode.
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * of u16 provided through pData.
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Timeout Timeout duration
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint3
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tickstart = 0U;
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init tickstart for timeout managment */
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tickstart = HAL_GetTick();
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferSize = Size;
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount--;
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 20
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmp = (uint16_t *) pData;
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->DR = (*tmp & (uint16_t)0x01FF);
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 2U;
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 1U;
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->DR = (*pData++ & (uint8_t)0xFF);
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Receives an amount of data in blocking mode.
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * of u16 available through pData.
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Timeout Timeout duration
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tickstart = 0U;
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 21
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init tickstart for timeout managment */
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tickstart = HAL_GetTick();
1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferSize = Size;
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = Size;
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the remain data to be received */
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** while (huart->RxXferCount > 0U)
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount--;
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmp = (uint16_t *) pData;
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 2U;
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x00FF);
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 1U;
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_RXNE, RESET, tickstart, Timeout) != HAL_OK
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *pData++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *pData++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 22
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * of u16 provided through pData.
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferSize = Size;
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Transmit data register empty Interrupt */
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 23
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode.
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * of u16 available through pData.
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr = pData;
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferSize = Size;
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = Size;
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_PE);
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_ERR);
1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Data Register not empty Interrupt */
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE);
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 24
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Sends an amount of data in DMA mode.
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the sent data is handled as a set of u16. In this case, Size must indicate the number
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * of u16 provided through pData.
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be sent
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t *tmp;
1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_READY)
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pTxBuffPtr = pData;
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferSize = Size;
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the DMA error callback */
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferErrorCallback = UART_DMAError;
1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the DMA abort callback */
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART transmit DMA channel */
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmp = (uint32_t *)&pData;
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Clear the TC flag in the SR register by writing 0 to it */
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC);
1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the DMA transfer for transmit request by setting the DMAT bit
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 25
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in the UART CR3 register */
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Receives an amount of data in DMA mode.
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When UART parity is not enabled (PCE = 0), and Word Length is configured to 9 bits (M1-
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the received data is handled as a set of u16. In this case, Size must indicate the numb
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * of u16 available through pData.
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param pData Pointer to data buffer (u8 or u16 data elements).
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Size Amount of data elements (u8 or u16) to be received.
1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When the UART parity is enabled (PCE = 1) the received data contains the parity bit.
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t *tmp;
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_READY)
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((pData == NULL) || (Size == 0U))
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_ERROR;
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr = pData;
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferSize = Size;
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA transfer complete callback */
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Half transfer complete callback */
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the DMA error callback */
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferErrorCallback = UART_DMAError;
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the DMA abort callback */
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the DMA channel */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 26
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmp = (uint32_t *)&pData;
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Clear the Overrun flag just before enabling the DMA Rx request: can be mandatory for the sec
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Parity Error Interrupt */
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the DMA transfer for the receiver request by setting the DMAR bit
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in the UART CR3 register */
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
1425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Pauses the DMA Transfer.
1430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart)
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Tx request */
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Rx request */
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 27
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Resumes the DMA Transfer.
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart)
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
1477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART DMA Tx request */
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Clear the Overrun flag before resuming the Rx transfer*/
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_CLEAR_OREFLAG(huart);
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reenable PE and ERR (Frame error, noise error, overrun error) interrupts */
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
1490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART DMA Rx request */
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
1497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Stops the DMA Transfer.
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
1505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart)
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
1511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** to call the HAL UART API under callbacks HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** and the correspond call back is executed HAL_UART_TxCpltCallback() / HAL_UART_RxCpltCallback()
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 28
1515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Tx channel */
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx != NULL)
1524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmatx);
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndTxTransfer(huart);
1528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
1538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_DMA_Abort(huart->hdmarx);
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndRxTransfer(huart);
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Abort ongoing transfers (blocking mode).
1549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
1550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This procedure performs following operations :
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Set handle State to READY
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort(UART_HandleTypeDef *huart)
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Tx channel: use blocking DMA Abort API (no callback) */
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx != NULL)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 29
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set error code to DMA */
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Rx channel: use blocking DMA Abort API (no callback) */
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set error code to DMA */
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset ErrorCode */
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->RxState and huart->gState to Ready */
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 30
1629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (blocking mode).
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
1632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This procedure performs following operations :
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Set handle State to READY
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit(UART_HandleTypeDef *huart)
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx != NULL)
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmatx) != HAL_OK)
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set error code to DMA */
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Tx transfer counter */
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->gState to Ready */
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (blocking mode).
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
1683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This procedure performs following operations :
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 31
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Set handle State to READY
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive(UART_HandleTypeDef *huart)
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Abort callback to Null.
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** No call back execution at end of DMA abort procedure */
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort(huart->hdmarx) != HAL_OK)
1711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_GetError(huart->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set error code to DMA */
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_DMA;
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Rx transfer counter */
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Abort ongoing transfers (Interrupt mode).
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
1735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing transfer started in Interrupt or
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This procedure performs following operations :
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable UART Interrupts (Tx and Rx)
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Set handle State to READY
1741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 32
1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart)
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks sh
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** before any call to DMA Abort functions */
1756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Tx Handle is valid */
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx != NULL)
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
1760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Otherwise, set it to NULL */
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback;
1764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Rx Handle is valid */
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Otherwise, set it to NULL */
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback;
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable DMA Tx at UART level */
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx != NULL)
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART Tx DMA Abort callback has already been initialised :
1795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort DMA TX */
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 33
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** AbortCplt = 0x00U;
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART Rx DMA Abort callback has already been initialised :
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort DMA RX */
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** AbortCplt = 0x01U;
1825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** AbortCplt = 0x00U;
1829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* if no DMA abort complete callback execution is required => call user Abort Complete callback *
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (AbortCplt == 0x01U)
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Tx and Rx transfer counters */
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset ErrorCode */
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
1842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort complete callback */
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortCpltCallback(huart);
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
1852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 34
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Abort ongoing Transmit transfer (Interrupt mode).
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Tx transfer started in Interrupt
1864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This procedure performs following operations :
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable UART Interrupts (Tx)
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Set handle State to READY
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortTransmit_IT(UART_HandleTypeDef *huart)
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Tx request if enabled */
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT))
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Tx channel : use blocking DMA Abort API (no callback) */
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx != NULL)
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Abort callback :
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = UART_DMATxOnlyAbortCallback;
1890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort DMA TX */
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK)
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call Directly huart->hdmatx->XferAbortCallback function in case of error */
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback(huart->hdmatx);
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Tx transfer counter */
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->gState to Ready */
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
1909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
1910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 35
1914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Tx transfer counter */
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
1920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->gState to Ready */
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
1928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
1929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Abort ongoing Receive transfer (Interrupt mode).
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure could be used for aborting any ongoing Rx transfer started in Interrupt
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * This procedure performs following operations :
1942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable UART Interrupts (Rx)
1943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
1945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - Set handle State to READY
1946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * - At abort completion, call user abort complete callback
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
1948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * considered as completed only when user abort complete callback is executed (not when ex
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
1961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Rx channel : use blocking DMA Abort API (no callback) */
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
1964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Abort callback :
1966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMARxOnlyAbortCallback;
1968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort DMA RX */
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 36
1971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
1974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Rx transfer counter */
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->RxState to Ready */
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
1987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
1992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
1995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset Rx transfer counter */
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief This function handles UART interrupt request.
2017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t errorflags = 0x00U;
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 37
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* If no error occurs */
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** errorflags = (isrflags & (uint32_t)(USART_SR_PE | USART_SR_FE | USART_SR_ORE | USART_SR_NE));
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (errorflags == RESET)
2032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART in mode Receiver -------------------------------------------------*/
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_Receive_IT(huart);
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* If some errors occur */
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((errorflags != RESET) && (((cr3its & USART_CR3_EIE) != RESET) || ((cr1its & (USART_CR1_RXNEIE
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART parity error interrupt occurred ----------------------------------*/
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_PE) != RESET) && ((cr1its & USART_CR1_PEIE) != RESET))
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_PE;
2048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART noise error interrupt occurred -----------------------------------*/
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_NE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_NE;
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART frame error interrupt occurred -----------------------------------*/
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_FE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_FE;
2060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART Over-Run interrupt occurred --------------------------------------*/
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_ORE) != RESET) && ((cr3its & USART_CR3_EIE) != RESET))
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_ORE;
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call UART Error Call back function if need be --------------------------*/
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->ErrorCode != HAL_UART_ERROR_NONE)
2070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART in mode Receiver -----------------------------------------------*/
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_RXNE) != RESET) && ((cr1its & USART_CR1_RXNEIE) != RESET))
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_Receive_IT(huart);
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* If Overrun error occurs, or if any error occurs in DMA mode reception,
2078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** consider error as blocking */
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
2081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Blocking error : transfer is aborted
2083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Set the UART state ready to be able to start again the process,
2084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 38
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndRxTransfer(huart);
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART DMA Rx request if enabled */
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Abort the UART DMA Rx channel */
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
2094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Set the UART DMA Abort callback :
2096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call Directly XferAbortCallback function in case of error */
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback(huart->hdmarx);
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
2105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call user error callback */
2107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered error callback*/
2109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback(huart);
2110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak error callback*/
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
2117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call user error callback */
2119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered error callback*/
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback(huart);
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak error callback*/
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Non Blocking error : transfer could go on.
2131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Error is notified to user through user error callback */
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered error callback*/
2134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback(huart);
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak error callback*/
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 39
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** } /* End if some error occurs */
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART in mode Transmitter ------------------------------------------------*/
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_TXE) != RESET) && ((cr1its & USART_CR1_TXEIE) != RESET))
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_Transmit_IT(huart);
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* UART in mode Transmitter end --------------------------------------------*/
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((isrflags & USART_SR_TC) != RESET) && ((cr1its & USART_CR1_TCIE) != RESET))
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndTransmit_IT(huart);
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Tx Transfer completed callbacks.
2163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
2168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_TxCpltCallback could be implemented in the user file
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Tx Half Transfer completed callbacks.
2178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_TxHalfCpltCallback could be implemented in the user file
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Rx Transfer completed callbacks.
2193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 40
2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_RxCpltCallback could be implemented in the user file
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Rx Half Transfer completed callbacks.
2208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_RxHalfCpltCallback could be implemented in the user file
2218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART error callbacks.
2223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
2228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_ErrorCallback could be implemented in the user file
2233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART Abort Complete callback.
2238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
2239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart)
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_AbortCpltCallback can be implemented in the user file.
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART Abort Complete callback.
2253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 41
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef *huart)
2257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_AbortTransmitCpltCallback can be implemented in the user file.
2263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART Abort Receive Complete callback.
2268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
2269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __weak void HAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef *huart)
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UNUSED(huart);
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE : This function should not be modified, when the callback is needed,
2277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** the HAL_UART_AbortReceiveCpltCallback can be implemented in the user file.
2278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @}
2283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group3 Peripheral Control functions
2286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART control functions
2287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @verbatim
2289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==============================================================================
2290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ##### Peripheral Control functions #####
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==============================================================================
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
2293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** This subsection provides a set of functions allowing to control the UART:
2294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_LIN_SendBreak() API can be helpful to transmit the break character.
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_MultiProcessor_EnterMuteMode() API can be helpful to enter the UART in mute mode.
2296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_MultiProcessor_ExitMuteMode() API can be helpful to exit the UART mute mode by software
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableTransmitter() API to enable the UART transmitter and disables the UART
2298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_HalfDuplex_EnableReceiver() API to enable the UART receiver and disables the UART trans
2299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @endverbatim
2301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
2302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Transmits break characters.
2306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_LIN_SendBreak(UART_HandleTypeDef *huart)
2311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 42
2313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
2317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Send break characters */
2321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_SBK);
2322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
2327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Enters the UART in mute mode.
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart)
2338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
2340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
2344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the USART mute mode by setting the RWU bit in the CR1 register */
2348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_RWU);
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
2354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Exits the UART mute mode: wake up software.
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_MultiProcessor_ExitMuteMode(UART_HandleTypeDef *huart)
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_INSTANCE(huart->Instance));
2368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 43
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_RWU);
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
2381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Enables the UART transmitter and disables the UART receiver.
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableTransmitter(UART_HandleTypeDef *huart)
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
2394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Clear TE and RE bits */
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the USART's transmit interface by setting the TE bit in the USART CR1 register */
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_TE;
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Write to USART CR1 */
2410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
2416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Enables the UART receiver and disables the UART transmitter.
2422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_StatusTypeDef HAL_HalfDuplex_EnableReceiver(UART_HandleTypeDef *huart)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 44
2427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_LOCK(huart);
2432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY;
2434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg = huart->Instance->CR1;
2437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Clear TE and RE bits */
2439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg &= (uint32_t)~((uint32_t)(USART_CR1_TE | USART_CR1_RE));
2440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the USART's receive interface by setting the RE bit in the USART CR1 register */
2442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg |= (uint32_t)USART_CR1_RE;
2443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Write to USART CR1 */
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** WRITE_REG(huart->Instance->CR1, (uint32_t)tmpreg);
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
2450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
2451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @}
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @defgroup UART_Exported_Functions_Group4 Peripheral State and Errors functions
2460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief UART State and Errors functions
2461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @verbatim
2463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==============================================================================
2464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ##### Peripheral State and Errors functions #####
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** ==============================================================================
2466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** [..]
2467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** This subsection provides a set of functions allowing to return the State of
2468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART communication process, return Peripheral Errors occurred during communication
2469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** process
2470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_GetState() API can be helpful to check in run-time the state of the UART peripheral
2471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (+) HAL_UART_GetError() check in run-time errors that could be occurred during communication.
2472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** @endverbatim
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Returns the UART state.
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL state
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_StateTypeDef HAL_UART_GetState(UART_HandleTypeDef *huart)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 45
2484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** temp1 = huart->gState;
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** temp2 = huart->RxState;
2488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return (HAL_UART_StateTypeDef)(temp1 | temp2);
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Return the UART error code
2494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART.
2496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval UART Error Code
2497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t HAL_UART_GetError(UART_HandleTypeDef *huart)
2499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return huart->ErrorCode;
2501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @}
2505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @}
2509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /** @defgroup UART_Private_Functions UART Private Functions
2512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @{
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Initialize the callbacks to their default values.
2517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
2518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval none
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** void UART_InitCallbacksToDefault(UART_HandleTypeDef *huart)
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Init the UART Callback settings */
2524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxHalfCpltCallback = HAL_UART_TxHalfCpltCallback; /* Legacy weak TxHalfCpltC
2525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxCpltCallback = HAL_UART_TxCpltCallback; /* Legacy weak TxCpltCallb
2526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxHalfCpltCallback = HAL_UART_RxHalfCpltCallback; /* Legacy weak RxHalfCpltC
2527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxCpltCallback = HAL_UART_RxCpltCallback; /* Legacy weak RxCpltCallb
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback = HAL_UART_ErrorCallback; /* Legacy weak ErrorCallba
2529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortCpltCallback = HAL_UART_AbortCpltCallback; /* Legacy weak AbortCpltCa
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortTransmitCpltCallback = HAL_UART_AbortTransmitCpltCallback; /* Legacy weak AbortTransm
2531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortReceiveCpltCallback = HAL_UART_AbortReceiveCpltCallback; /* Legacy weak AbortReceiv
2532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART transmit process complete callback.
2538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 46
2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
2543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Normal mode*/
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U)
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the DMA transfer for transmit request by setting the DMAT bit
2551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in the UART CR3 register */
2552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
2556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Circular mode */
2559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
2560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered Tx complete callback*/
2563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxCpltCallback(huart);
2564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
2567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART transmit process half complete callback
2573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
2578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered Tx complete callback*/
2583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxHalfCpltCallback(huart);
2584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
2586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_TxHalfCpltCallback(huart);
2587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART receive process complete callback.
2592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 47
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Normal mode*/
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U)
2601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0U;
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
2606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the DMA transfer for the receiver request by setting the DMAR bit
2609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** in the UART CR3 register */
2610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
2611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered Rx complete callback*/
2617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxCpltCallback(huart);
2618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
2620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART receive process half complete callback
2626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered Rx Half complete callback*/
2636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxHalfCpltCallback(huart);
2637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak Rx Half complete callback*/
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_RxHalfCpltCallback(huart);
2640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART communication error callback.
2645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMAError(DMA_HandleTypeDef *hdma)
2650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Stop UART DMA Tx request if ongoing */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 48
2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT);
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndTxTransfer(huart);
2660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Stop UART DMA Rx request if ongoing */
2663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** dmarequest = HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR);
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndRxTransfer(huart);
2668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode |= HAL_UART_ERROR_DMA;
2671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered error callback*/
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback(huart);
2674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak error callback*/
2676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief This function handles UART Communication Timeout.
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Flag specifies the UART flag to check.
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Status The new Flag status (SET or RESET).
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Tickstart Tick start value
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param Timeout Timeout duration
2688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, Flag
2691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Wait until flag is set */
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
2694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check for the Timeout */
2696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (Timeout != HAL_MAX_DELAY)
2697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for t
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
2702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Unlocked */
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UNLOCK(huart);
2709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_TIMEOUT;
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 49
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief End ongoing Tx transfer on UART peripheral (following error detection or Transmit compl
2719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
2720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
2723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
27 .loc 1 2723 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
32 .loc 1 2725 3 view .LVU1
33 0000 0268 ldr r2, [r0]
34 0002 D368 ldr r3, [r2, #12]
35 0004 23F0C003 bic r3, r3, #192
36 0008 D360 str r3, [r2, #12]
2726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* At end of Tx process, restore huart->gState to Ready */
2728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
37 .loc 1 2728 3 view .LVU2
38 .loc 1 2728 17 is_stmt 0 view .LVU3
39 000a 2023 movs r3, #32
40 000c 80F83930 strb r3, [r0, #57]
2729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
41 .loc 1 2729 1 view .LVU4
42 0010 7047 bx lr
43 .cfi_endproc
44 .LFE109:
46 .section .text.UART_EndRxTransfer,"ax",%progbits
47 .align 1
48 .syntax unified
49 .thumb
50 .thumb_func
51 .fpu softvfp
53 UART_EndRxTransfer:
54 .LVL1:
55 .LFB110:
2730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception comp
2733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart UART handle.
2734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
2737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
56 .loc 1 2737 1 is_stmt 1 view -0
57 .cfi_startproc
58 @ args = 0, pretend = 0, frame = 0
59 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 50
60 @ link register save eliminated.
2738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
61 .loc 1 2739 3 view .LVU6
62 0000 0268 ldr r2, [r0]
63 0002 D368 ldr r3, [r2, #12]
64 0004 23F49073 bic r3, r3, #288
65 0008 D360 str r3, [r2, #12]
2740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
66 .loc 1 2740 3 view .LVU7
67 000a 0268 ldr r2, [r0]
68 000c 5369 ldr r3, [r2, #20]
69 000e 23F00103 bic r3, r3, #1
70 0012 5361 str r3, [r2, #20]
2741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* At end of Rx process, restore huart->RxState to Ready */
2743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
71 .loc 1 2743 3 view .LVU8
72 .loc 1 2743 18 is_stmt 0 view .LVU9
73 0014 2023 movs r3, #32
74 0016 80F83A30 strb r3, [r0, #58]
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
75 .loc 1 2744 1 view .LVU10
76 001a 7047 bx lr
77 .cfi_endproc
78 .LFE110:
80 .section .text.UART_Transmit_IT,"ax",%progbits
81 .align 1
82 .syntax unified
83 .thumb
84 .thumb_func
85 .fpu softvfp
87 UART_Transmit_IT:
88 .LVL2:
89 .LFB116:
2745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART communication abort callback, when initiated by HAL services on Error
2748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * (To be called at end of DMA Abort procedure following error occurrence).
2749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered error callback*/
2761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCallback(huart);
2762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak error callback*/
2764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_ErrorCallback(huart);
2765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 51
2767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
2771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
2772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * Abort still ongoing for Rx DMA Handle.
2773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
2778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmatx->XferAbortCallback = NULL;
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
2784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx != NULL)
2785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmarx->XferAbortCallback != NULL)
2787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
2793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset ErrorCode */
2797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
2800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call user Abort complete callback */
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort complete callback */
2806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortCpltCallback(huart);
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
2809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user
2815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
2816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @note When this callback is executed, User Abort complete call back is called only if no
2817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * Abort still ongoing for Tx DMA Handle.
2818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 52
2824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->hdmarx->XferAbortCallback = NULL;
2827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check if an Abort process is still ongoing */
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx != NULL)
2830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->hdmatx->XferAbortCallback != NULL)
2832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
2834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callba
2838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Reset ErrorCode */
2842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->ErrorCode = HAL_UART_ERROR_NONE;
2843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->gState and huart->RxState to Ready */
2845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call user Abort complete callback */
2849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort complete callback */
2851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortCpltCallback(huart);
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort complete callback */
2854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortCpltCallback(huart);
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART Tx communication abort callback, when initiated by user by a call to
2860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * HAL_UART_AbortTransmit_IT API (Abort only Tx transfer)
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * (This callback is executed at end of DMA Tx Abort procedure following user abort reques
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * and leads to user Tx Abort Complete callback execution).
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMATxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
2868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->gState to Ready */
2874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call user Abort complete callback */
2877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort Transmit Complete Callback */
2879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortTransmitCpltCallback(huart);
2880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 53
2881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort Transmit Complete Callback */
2882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortTransmitCpltCallback(huart);
2883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief DMA UART Rx communication abort callback, when initiated by user by a call to
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * HAL_UART_AbortReceive_IT API (Abort only Rx transfer)
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * (This callback is executed at end of DMA Rx Abort procedure following user abort reques
2890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * and leads to user Rx Abort Complete callback execution).
2891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified DMA module.
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_DMARxOnlyAbortCallback(DMA_HandleTypeDef *hdma)
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Restore huart->RxState to Ready */
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
2903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call user Abort complete callback */
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call registered Abort Receive Complete Callback */
2907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->AbortReceiveCpltCallback(huart);
2908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Call legacy weak Abort Receive Complete Callback */
2910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_AbortReceiveCpltCallback(huart);
2911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Sends an amount of data in non blocking mode.
2916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_Transmit_IT(UART_HandleTypeDef *huart)
2921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
90 .loc 1 2921 1 is_stmt 1 view -0
91 .cfi_startproc
92 @ args = 0, pretend = 0, frame = 0
93 @ frame_needed = 0, uses_anonymous_args = 0
94 @ link register save eliminated.
2922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
95 .loc 1 2922 3 view .LVU12
2923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Tx process is ongoing */
2925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->gState == HAL_UART_STATE_BUSY_TX)
96 .loc 1 2925 3 view .LVU13
97 .loc 1 2925 12 is_stmt 0 view .LVU14
98 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
99 0004 DBB2 uxtb r3, r3
100 .loc 1 2925 6 view .LVU15
101 0006 212B cmp r3, #33
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 54
102 0008 01D0 beq .L10
2926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
2928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmp = (uint16_t *) huart->pTxBuffPtr;
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
2931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
2932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pTxBuffPtr += 2U;
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
2936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pTxBuffPtr += 1U;
2938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
2941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->DR = (uint8_t)(*huart->pTxBuffPtr++ & (uint8_t)0x00FF);
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (--huart->TxXferCount == 0U)
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
2948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Enable the UART Transmit Complete Interrupt */
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_ENABLE_IT(huart, UART_IT_TC);
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
2956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
103 .loc 1 2957 12 view .LVU16
104 000a 0220 movs r0, #2
105 .LVL3:
2958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
106 .loc 1 2959 1 view .LVU17
107 000c 7047 bx lr
108 .LVL4:
109 .L10:
2927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
110 .loc 1 2927 5 is_stmt 1 view .LVU18
2927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
111 .loc 1 2927 20 is_stmt 0 view .LVU19
112 000e 8368 ldr r3, [r0, #8]
2927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
113 .loc 1 2927 8 view .LVU20
114 0010 B3F5805F cmp r3, #4096
115 0014 16D0 beq .L11
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
116 .loc 1 2942 7 is_stmt 1 view .LVU21
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
117 .loc 1 2942 45 is_stmt 0 view .LVU22
118 0016 036A ldr r3, [r0, #32]
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 55
119 .loc 1 2942 57 view .LVU23
120 0018 5A1C adds r2, r3, #1
121 001a 0262 str r2, [r0, #32]
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
122 .loc 1 2942 39 view .LVU24
123 001c 1A78 ldrb r2, [r3] @ zero_extendqisi2
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
124 .loc 1 2942 12 view .LVU25
125 001e 0368 ldr r3, [r0]
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
126 .loc 1 2942 27 view .LVU26
127 0020 5A60 str r2, [r3, #4]
128 .L7:
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
129 .loc 1 2945 5 is_stmt 1 view .LVU27
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
130 .loc 1 2945 16 is_stmt 0 view .LVU28
131 0022 C38C ldrh r3, [r0, #38]
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
132 .loc 1 2945 9 view .LVU29
133 0024 013B subs r3, r3, #1
134 0026 9BB2 uxth r3, r3
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
135 .loc 1 2945 8 view .LVU30
136 0028 C384 strh r3, [r0, #38] @ movhi
137 002a 4BB9 cbnz r3, .L8
2948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
138 .loc 1 2948 7 is_stmt 1 view .LVU31
139 002c 0268 ldr r2, [r0]
140 002e D368 ldr r3, [r2, #12]
141 0030 23F08003 bic r3, r3, #128
142 0034 D360 str r3, [r2, #12]
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
143 .loc 1 2951 7 view .LVU32
144 0036 0268 ldr r2, [r0]
145 0038 D368 ldr r3, [r2, #12]
146 003a 43F04003 orr r3, r3, #64
147 003e D360 str r3, [r2, #12]
148 .L8:
2953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
149 .loc 1 2953 5 view .LVU33
2953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
150 .loc 1 2953 12 is_stmt 0 view .LVU34
151 0040 0020 movs r0, #0
152 .LVL5:
2953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
153 .loc 1 2953 12 view .LVU35
154 0042 7047 bx lr
155 .LVL6:
156 .L11:
2929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
157 .loc 1 2929 7 is_stmt 1 view .LVU36
2929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->DR = (uint16_t)(*tmp & (uint16_t)0x01FF);
158 .loc 1 2929 11 is_stmt 0 view .LVU37
159 0044 036A ldr r3, [r0, #32]
160 .LVL7:
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 56
161 .loc 1 2930 7 is_stmt 1 view .LVU38
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
162 .loc 1 2930 40 is_stmt 0 view .LVU39
163 0046 1B88 ldrh r3, [r3]
164 .LVL8:
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
165 .loc 1 2930 12 view .LVU40
166 0048 0268 ldr r2, [r0]
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
167 .loc 1 2930 29 view .LVU41
168 004a C3F30803 ubfx r3, r3, #0, #9
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
169 .loc 1 2930 27 view .LVU42
170 004e 5360 str r3, [r2, #4]
171 .LVL9:
2931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
172 .loc 1 2931 7 is_stmt 1 view .LVU43
2931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
173 .loc 1 2931 22 is_stmt 0 view .LVU44
174 0050 0369 ldr r3, [r0, #16]
2931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
175 .loc 1 2931 10 view .LVU45
176 0052 1BB9 cbnz r3, .L6
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
177 .loc 1 2933 9 is_stmt 1 view .LVU46
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
178 .loc 1 2933 27 is_stmt 0 view .LVU47
179 0054 036A ldr r3, [r0, #32]
180 0056 0233 adds r3, r3, #2
181 0058 0362 str r3, [r0, #32]
182 005a E2E7 b .L7
183 .L6:
2937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
184 .loc 1 2937 9 is_stmt 1 view .LVU48
2937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
185 .loc 1 2937 27 is_stmt 0 view .LVU49
186 005c 036A ldr r3, [r0, #32]
187 005e 0133 adds r3, r3, #1
188 0060 0362 str r3, [r0, #32]
189 0062 DEE7 b .L7
190 .cfi_endproc
191 .LFE116:
193 .section .text.UART_SetConfig,"ax",%progbits
194 .align 1
195 .syntax unified
196 .thumb
197 .thumb_func
198 .fpu softvfp
200 UART_SetConfig:
201 .LVL10:
202 .LFB119:
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Wraps up transmission in non blocking mode.
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 57
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_EndTransmit_IT(UART_HandleTypeDef *huart)
2968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
2970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_TC);
2971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Tx process is ended, restore huart->gState to Ready */
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered Tx complete callback*/
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxCpltCallback(huart);
2978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
2979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak Tx complete callback*/
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_TxCpltCallback(huart);
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Receives an amount of data in non blocking mode
2988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
2989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval HAL status
2991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
2992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart)
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
2995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Rx process is ongoing */
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->RxState == HAL_UART_STATE_BUSY_RX)
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
3000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmp = (uint16_t *) huart->pRxBuffPtr;
3002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
3003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x01FF);
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *tmp = (uint16_t)(huart->Instance->DR & (uint16_t)0x00FF);
3010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
3016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
3018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** *huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x007F);
3022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 58
3023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (--huart->RxXferCount == 0U)
3026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART Data Register not empty Interrupt */
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART Parity Error Interrupt */
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_PE);
3032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */
3034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** __HAL_UART_DISABLE_IT(huart, UART_IT_ERR);
3035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Rx process is completed, restore huart->RxState to Ready */
3037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call registered Rx complete callback*/
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxCpltCallback(huart);
3042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
3043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*Call legacy weak Rx complete callback*/
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_UART_RxCpltCallback(huart);
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_OK;
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return HAL_BUSY;
3054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /**
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @brief Configures the UART peripheral.
3059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @param huart Pointer to a UART_HandleTypeDef structure that contains
3060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * the configuration information for the specified UART module.
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** * @retval None
3062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** */
3063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** static void UART_SetConfig(UART_HandleTypeDef *huart)
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
203 .loc 1 3064 1 is_stmt 1 view -0
204 .cfi_startproc
205 @ args = 0, pretend = 0, frame = 0
206 @ frame_needed = 0, uses_anonymous_args = 0
207 .loc 1 3064 1 is_stmt 0 view .LVU51
208 0000 38B5 push {r3, r4, r5, lr}
209 .LCFI0:
210 .cfi_def_cfa_offset 16
211 .cfi_offset 3, -16
212 .cfi_offset 4, -12
213 .cfi_offset 5, -8
214 .cfi_offset 14, -4
215 0002 0446 mov r4, r0
3065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tmpreg;
216 .loc 1 3065 3 is_stmt 1 view .LVU52
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 59
3066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t pclk;
217 .loc 1 3066 3 view .LVU53
3067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
3069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_BAUDRATE(huart->Init.BaudRate));
218 .loc 1 3069 3 view .LVU54
3070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_STOPBITS(huart->Init.StopBits));
219 .loc 1 3070 3 view .LVU55
3071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_PARITY(huart->Init.Parity));
220 .loc 1 3071 3 view .LVU56
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_MODE(huart->Init.Mode));
221 .loc 1 3072 3 view .LVU57
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART CR2 Configuration -----------------------*/
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Configure the UART Stop Bits: Set STOP[13:12] bits
3076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** according to huart->Init.StopBits value */
3077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
222 .loc 1 3077 3 view .LVU58
223 0004 0268 ldr r2, [r0]
224 0006 1369 ldr r3, [r2, #16]
225 0008 23F44053 bic r3, r3, #12288
226 000c C168 ldr r1, [r0, #12]
227 000e 0B43 orrs r3, r3, r1
228 0010 1361 str r3, [r2, #16]
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART CR1 Configuration -----------------------*/
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Configure the UART Word Length, Parity and mode:
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Set the M bits according to huart->Init.WordLength value
3082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Set PCE and PS bits according to huart->Init.Parity value
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Set TE and RE bits according to huart->Init.Mode value
3084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** Set OVER8 bit according to huart->Init.OverSampling value */
3085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
3087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.O
3088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE |
3090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg);
3091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode;
229 .loc 1 3092 3 view .LVU59
230 .loc 1 3092 33 is_stmt 0 view .LVU60
231 0012 8368 ldr r3, [r0, #8]
232 .loc 1 3092 58 view .LVU61
233 0014 0269 ldr r2, [r0, #16]
234 .loc 1 3092 45 view .LVU62
235 0016 1343 orrs r3, r3, r2
236 .loc 1 3092 79 view .LVU63
237 0018 4269 ldr r2, [r0, #20]
238 .loc 1 3092 10 view .LVU64
239 001a 1A43 orrs r2, r2, r3
240 .LVL11:
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR1,
241 .loc 1 3093 3 is_stmt 1 view .LVU65
242 001c 0168 ldr r1, [r0]
243 001e CB68 ldr r3, [r1, #12]
244 0020 23F4B053 bic r3, r3, #5632
245 0024 23F00C03 bic r3, r3, #12
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 60
246 0028 1343 orrs r3, r3, r2
247 002a CB60 str r3, [r1, #12]
3094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** (uint32_t)(USART_CR1_M | USART_CR1_PCE | USART_CR1_PS | USART_CR1_TE | USART_CR1_RE),
3095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** tmpreg);
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USART_CR1_OVER8 */
3097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART CR3 Configuration -----------------------*/
3099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Configure the UART HFC: Set CTSE and RTSE bits according to huart->Init.HwFlowCtl value */
3100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** MODIFY_REG(huart->Instance->CR3, (USART_CR3_RTSE | USART_CR3_CTSE), huart->Init.HwFlowCtl);
248 .loc 1 3100 3 view .LVU66
249 002c 0268 ldr r2, [r0]
250 .LVL12:
251 .loc 1 3100 3 is_stmt 0 view .LVU67
252 002e 5369 ldr r3, [r2, #20]
253 0030 23F44073 bic r3, r3, #768
254 0034 8169 ldr r1, [r0, #24]
255 0036 0B43 orrs r3, r3, r1
256 0038 5361 str r3, [r2, #20]
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
3103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the Over Sampling */
3104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if(huart->Init.OverSampling == UART_OVERSAMPLING_8)
3105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if(huart->Instance == USART1)
3108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(pclk, huart->Init.BaudRate);
3111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
3115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING8(pclk, huart->Init.BaudRate);
3116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if(huart->Instance == USART1)
3122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
3125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
3129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #else
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /*-------------------------- USART BRR Configuration ---------------------*/
3134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if(huart->Instance == USART1)
257 .loc 1 3134 3 is_stmt 1 view .LVU68
258 .loc 1 3134 11 is_stmt 0 view .LVU69
259 003a 0268 ldr r2, [r0]
260 .loc 1 3134 5 view .LVU70
261 003c 214B ldr r3, .L17
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 61
262 003e 9A42 cmp r2, r3
263 0040 1FD0 beq .L16
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK2Freq();
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
3138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** else
3140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pclk = HAL_RCC_GetPCLK1Freq();
264 .loc 1 3141 5 is_stmt 1 view .LVU71
265 .loc 1 3141 12 is_stmt 0 view .LVU72
266 0042 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
267 .LVL13:
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
268 .loc 1 3142 5 is_stmt 1 view .LVU73
269 .loc 1 3142 28 is_stmt 0 view .LVU74
270 0046 00EB8000 add r0, r0, r0, lsl #2
271 .LVL14:
272 .loc 1 3142 28 view .LVU75
273 004a 00EB8000 add r0, r0, r0, lsl #2
274 004e 6368 ldr r3, [r4, #4]
275 0050 9B00 lsls r3, r3, #2
276 0052 B0FBF3F0 udiv r0, r0, r3
277 0056 1C4D ldr r5, .L17+4
278 0058 A5FB0032 umull r3, r2, r5, r0
279 005c 5109 lsrs r1, r2, #5
280 005e 6422 movs r2, #100
281 0060 02FB1102 mls r2, r2, r1, r0
282 0064 1301 lsls r3, r2, #4
283 0066 3233 adds r3, r3, #50
284 0068 A5FB0323 umull r2, r3, r5, r3
285 006c 5B09 lsrs r3, r3, #5
286 006e 03F0F002 and r2, r3, #240
287 0072 02EB0112 add r2, r2, r1, lsl #4
288 0076 03F00F03 and r3, r3, #15
289 .loc 1 3142 10 view .LVU76
290 007a 2168 ldr r1, [r4]
291 .loc 1 3142 28 view .LVU77
292 007c 1344 add r3, r3, r2
293 .loc 1 3142 26 view .LVU78
294 007e 8B60 str r3, [r1, #8]
295 .L12:
3143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USART_CR1_OVER8 */
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
296 .loc 1 3145 1 view .LVU79
297 0080 38BD pop {r3, r4, r5, pc}
298 .LVL15:
299 .L16:
3136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
300 .loc 1 3136 5 is_stmt 1 view .LVU80
3136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->BRR = UART_BRR_SAMPLING16(pclk, huart->Init.BaudRate);
301 .loc 1 3136 12 is_stmt 0 view .LVU81
302 0082 FFF7FEFF bl HAL_RCC_GetPCLK2Freq
303 .LVL16:
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
304 .loc 1 3137 5 is_stmt 1 view .LVU82
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 62
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
305 .loc 1 3137 28 is_stmt 0 view .LVU83
306 0086 00EB8000 add r0, r0, r0, lsl #2
307 .LVL17:
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
308 .loc 1 3137 28 view .LVU84
309 008a 00EB8000 add r0, r0, r0, lsl #2
310 008e 6368 ldr r3, [r4, #4]
311 0090 9B00 lsls r3, r3, #2
312 0092 B0FBF3F0 udiv r0, r0, r3
313 0096 0C4D ldr r5, .L17+4
314 0098 A5FB0032 umull r3, r2, r5, r0
315 009c 5109 lsrs r1, r2, #5
316 009e 6422 movs r2, #100
317 00a0 02FB1102 mls r2, r2, r1, r0
318 00a4 1301 lsls r3, r2, #4
319 00a6 3233 adds r3, r3, #50
320 00a8 A5FB0323 umull r2, r3, r5, r3
321 00ac 5B09 lsrs r3, r3, #5
322 00ae 03F0F002 and r2, r3, #240
323 00b2 02EB0112 add r2, r2, r1, lsl #4
324 00b6 03F00F03 and r3, r3, #15
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
325 .loc 1 3137 10 view .LVU85
326 00ba 2168 ldr r1, [r4]
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
327 .loc 1 3137 28 view .LVU86
328 00bc 1344 add r3, r3, r2
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
329 .loc 1 3137 26 view .LVU87
330 00be 8B60 str r3, [r1, #8]
331 00c0 DEE7 b .L12
332 .L18:
333 00c2 00BF .align 2
334 .L17:
335 00c4 00380140 .word 1073821696
336 00c8 1F85EB51 .word 1374389535
337 .cfi_endproc
338 .LFE119:
340 .section .text.UART_WaitOnFlagUntilTimeout,"ax",%progbits
341 .align 1
342 .syntax unified
343 .thumb
344 .thumb_func
345 .fpu softvfp
347 UART_WaitOnFlagUntilTimeout:
348 .LVL18:
349 .LFB108:
2691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Wait until flag is set */
350 .loc 1 2691 1 is_stmt 1 view -0
351 .cfi_startproc
352 @ args = 4, pretend = 0, frame = 0
353 @ frame_needed = 0, uses_anonymous_args = 0
2691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Wait until flag is set */
354 .loc 1 2691 1 is_stmt 0 view .LVU89
355 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
356 .LCFI1:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 63
357 .cfi_def_cfa_offset 24
358 .cfi_offset 4, -24
359 .cfi_offset 5, -20
360 .cfi_offset 6, -16
361 .cfi_offset 7, -12
362 .cfi_offset 8, -8
363 .cfi_offset 14, -4
364 0004 0546 mov r5, r0
365 0006 0F46 mov r7, r1
366 0008 1646 mov r6, r2
367 000a 9846 mov r8, r3
368 000c 069C ldr r4, [sp, #24]
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
369 .loc 1 2693 3 is_stmt 1 view .LVU90
370 .LVL19:
371 .L21:
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
372 .loc 1 2693 11 is_stmt 0 view .LVU91
373 000e 2B68 ldr r3, [r5]
374 0010 1B68 ldr r3, [r3]
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
375 .loc 1 2693 50 view .LVU92
376 0012 37EA0303 bics r3, r7, r3
377 0016 0CBF ite eq
378 0018 0123 moveq r3, #1
379 001a 0023 movne r3, #0
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
380 .loc 1 2693 9 view .LVU93
381 001c B342 cmp r3, r6
382 001e 1DD1 bne .L26
2696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
383 .loc 1 2696 5 is_stmt 1 view .LVU94
2696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
384 .loc 1 2696 8 is_stmt 0 view .LVU95
385 0020 B4F1FF3F cmp r4, #-1
386 0024 F3D0 beq .L21
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
387 .loc 1 2698 7 is_stmt 1 view .LVU96
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
388 .loc 1 2698 10 is_stmt 0 view .LVU97
389 0026 2CB1 cbz r4, .L22
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
390 .loc 1 2698 32 discriminator 1 view .LVU98
391 0028 FFF7FEFF bl HAL_GetTick
392 .LVL20:
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
393 .loc 1 2698 46 discriminator 1 view .LVU99
394 002c A0EB0800 sub r0, r0, r8
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
395 .loc 1 2698 27 discriminator 1 view .LVU100
396 0030 A042 cmp r0, r4
397 0032 ECD9 bls .L21
398 .L22:
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
399 .loc 1 2701 9 is_stmt 1 view .LVU101
400 0034 2A68 ldr r2, [r5]
401 0036 D368 ldr r3, [r2, #12]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 64
402 0038 23F4D073 bic r3, r3, #416
403 003c D360 str r3, [r2, #12]
2702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
404 .loc 1 2702 9 view .LVU102
405 003e 2A68 ldr r2, [r5]
406 0040 5369 ldr r3, [r2, #20]
407 0042 23F00103 bic r3, r3, #1
408 0046 5361 str r3, [r2, #20]
2704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
409 .loc 1 2704 9 view .LVU103
2704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
410 .loc 1 2704 24 is_stmt 0 view .LVU104
411 0048 2023 movs r3, #32
412 004a 85F83930 strb r3, [r5, #57]
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
413 .loc 1 2705 9 is_stmt 1 view .LVU105
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
414 .loc 1 2705 24 is_stmt 0 view .LVU106
415 004e 85F83A30 strb r3, [r5, #58]
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
416 .loc 1 2708 9 is_stmt 1 view .LVU107
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
417 .loc 1 2708 9 view .LVU108
418 0052 0023 movs r3, #0
419 0054 85F83830 strb r3, [r5, #56]
2710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
420 .loc 1 2710 9 view .LVU109
2710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
421 .loc 1 2710 16 is_stmt 0 view .LVU110
422 0058 0320 movs r0, #3
423 005a 00E0 b .L23
424 .L26:
2714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
425 .loc 1 2714 10 view .LVU111
426 005c 0020 movs r0, #0
427 .L23:
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
428 .loc 1 2715 1 view .LVU112
429 005e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
430 .loc 1 2715 1 view .LVU113
431 .cfi_endproc
432 .LFE108:
434 .section .text.HAL_UART_MspInit,"ax",%progbits
435 .align 1
436 .weak HAL_UART_MspInit
437 .syntax unified
438 .thumb
439 .thumb_func
440 .fpu softvfp
442 HAL_UART_MspInit:
443 .LVL21:
444 .LFB70:
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
445 .loc 1 673 1 is_stmt 1 view -0
446 .cfi_startproc
447 @ args = 0, pretend = 0, frame = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 65
448 @ frame_needed = 0, uses_anonymous_args = 0
449 @ link register save eliminated.
675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
450 .loc 1 675 3 view .LVU115
679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
451 .loc 1 679 1 is_stmt 0 view .LVU116
452 0000 7047 bx lr
453 .cfi_endproc
454 .LFE70:
456 .section .text.HAL_UART_Init,"ax",%progbits
457 .align 1
458 .global HAL_UART_Init
459 .syntax unified
460 .thumb
461 .thumb_func
462 .fpu softvfp
464 HAL_UART_Init:
465 .LVL22:
466 .LFB65:
315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
467 .loc 1 315 1 is_stmt 1 view -0
468 .cfi_startproc
469 @ args = 0, pretend = 0, frame = 0
470 @ frame_needed = 0, uses_anonymous_args = 0
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
471 .loc 1 317 3 view .LVU118
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
472 .loc 1 317 6 is_stmt 0 view .LVU119
473 0000 58B3 cbz r0, .L31
315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
474 .loc 1 315 1 view .LVU120
475 0002 10B5 push {r4, lr}
476 .LCFI2:
477 .cfi_def_cfa_offset 8
478 .cfi_offset 4, -8
479 .cfi_offset 14, -4
480 0004 0446 mov r4, r0
323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
481 .loc 1 323 3 is_stmt 1 view .LVU121
331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
482 .loc 1 331 5 view .LVU122
333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
483 .loc 1 333 3 view .LVU123
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
484 .loc 1 338 3 view .LVU124
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
485 .loc 1 338 12 is_stmt 0 view .LVU125
486 0006 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
487 .loc 1 338 6 view .LVU126
488 000a 0BB3 cbz r3, .L36
489 .LVL23:
490 .L30:
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
491 .loc 1 359 3 is_stmt 1 view .LVU127
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
492 .loc 1 359 17 is_stmt 0 view .LVU128
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 66
493 000c 2423 movs r3, #36
494 000e 84F83930 strb r3, [r4, #57]
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
495 .loc 1 362 3 is_stmt 1 view .LVU129
496 0012 2268 ldr r2, [r4]
497 0014 D368 ldr r3, [r2, #12]
498 0016 23F40053 bic r3, r3, #8192
499 001a D360 str r3, [r2, #12]
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
500 .loc 1 365 3 view .LVU130
501 001c 2046 mov r0, r4
502 001e FFF7FEFF bl UART_SetConfig
503 .LVL24:
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
504 .loc 1 370 3 view .LVU131
505 0022 2268 ldr r2, [r4]
506 0024 1369 ldr r3, [r2, #16]
507 0026 23F49043 bic r3, r3, #18432
508 002a 1361 str r3, [r2, #16]
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
509 .loc 1 371 3 view .LVU132
510 002c 2268 ldr r2, [r4]
511 002e 5369 ldr r3, [r2, #20]
512 0030 23F02A03 bic r3, r3, #42
513 0034 5361 str r3, [r2, #20]
374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
514 .loc 1 374 3 view .LVU133
515 0036 2268 ldr r2, [r4]
516 0038 D368 ldr r3, [r2, #12]
517 003a 43F40053 orr r3, r3, #8192
518 003e D360 str r3, [r2, #12]
377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
519 .loc 1 377 3 view .LVU134
377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
520 .loc 1 377 20 is_stmt 0 view .LVU135
521 0040 0020 movs r0, #0
522 0042 E063 str r0, [r4, #60]
378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
523 .loc 1 378 3 is_stmt 1 view .LVU136
378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
524 .loc 1 378 17 is_stmt 0 view .LVU137
525 0044 2023 movs r3, #32
526 0046 84F83930 strb r3, [r4, #57]
379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
527 .loc 1 379 3 is_stmt 1 view .LVU138
379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
528 .loc 1 379 18 is_stmt 0 view .LVU139
529 004a 84F83A30 strb r3, [r4, #58]
381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
530 .loc 1 381 3 is_stmt 1 view .LVU140
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
531 .loc 1 382 1 is_stmt 0 view .LVU141
532 004e 10BD pop {r4, pc}
533 .LVL25:
534 .L36:
341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
535 .loc 1 341 5 is_stmt 1 view .LVU142
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 67
341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
536 .loc 1 341 17 is_stmt 0 view .LVU143
537 0050 80F83830 strb r3, [r0, #56]
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
538 .loc 1 355 5 is_stmt 1 view .LVU144
539 0054 FFF7FEFF bl HAL_UART_MspInit
540 .LVL26:
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
541 .loc 1 355 5 is_stmt 0 view .LVU145
542 0058 D8E7 b .L30
543 .LVL27:
544 .L31:
545 .LCFI3:
546 .cfi_def_cfa_offset 0
547 .cfi_restore 4
548 .cfi_restore 14
319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
549 .loc 1 319 12 view .LVU146
550 005a 0120 movs r0, #1
551 .LVL28:
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
552 .loc 1 382 1 view .LVU147
553 005c 7047 bx lr
554 .cfi_endproc
555 .LFE65:
557 .section .text.HAL_HalfDuplex_Init,"ax",%progbits
558 .align 1
559 .global HAL_HalfDuplex_Init
560 .syntax unified
561 .thumb
562 .thumb_func
563 .fpu softvfp
565 HAL_HalfDuplex_Init:
566 .LVL29:
567 .LFB66:
392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
568 .loc 1 392 1 is_stmt 1 view -0
569 .cfi_startproc
570 @ args = 0, pretend = 0, frame = 0
571 @ frame_needed = 0, uses_anonymous_args = 0
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
572 .loc 1 394 3 view .LVU149
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
573 .loc 1 394 6 is_stmt 0 view .LVU150
574 0000 0028 cmp r0, #0
575 0002 30D0 beq .L40
392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
576 .loc 1 392 1 view .LVU151
577 0004 10B5 push {r4, lr}
578 .LCFI4:
579 .cfi_def_cfa_offset 8
580 .cfi_offset 4, -8
581 .cfi_offset 14, -4
582 0006 0446 mov r4, r0
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
583 .loc 1 400 3 is_stmt 1 view .LVU152
401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 68
584 .loc 1 401 3 view .LVU153
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
585 .loc 1 406 3 view .LVU154
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
586 .loc 1 406 12 is_stmt 0 view .LVU155
587 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
588 .loc 1 406 6 view .LVU156
589 000c 33B3 cbz r3, .L45
590 .LVL30:
591 .L39:
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
592 .loc 1 427 3 is_stmt 1 view .LVU157
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
593 .loc 1 427 17 is_stmt 0 view .LVU158
594 000e 2423 movs r3, #36
595 0010 84F83930 strb r3, [r4, #57]
430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
596 .loc 1 430 3 is_stmt 1 view .LVU159
597 0014 2268 ldr r2, [r4]
598 0016 D368 ldr r3, [r2, #12]
599 0018 23F40053 bic r3, r3, #8192
600 001c D360 str r3, [r2, #12]
433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
601 .loc 1 433 3 view .LVU160
602 001e 2046 mov r0, r4
603 0020 FFF7FEFF bl UART_SetConfig
604 .LVL31:
438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_IREN | USART_CR3_SCEN));
605 .loc 1 438 3 view .LVU161
606 0024 2268 ldr r2, [r4]
607 0026 1369 ldr r3, [r2, #16]
608 0028 23F49043 bic r3, r3, #18432
609 002c 1361 str r3, [r2, #16]
439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
610 .loc 1 439 3 view .LVU162
611 002e 2268 ldr r2, [r4]
612 0030 5369 ldr r3, [r2, #20]
613 0032 23F02203 bic r3, r3, #34
614 0036 5361 str r3, [r2, #20]
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
615 .loc 1 442 3 view .LVU163
616 0038 2268 ldr r2, [r4]
617 003a 5369 ldr r3, [r2, #20]
618 003c 43F00803 orr r3, r3, #8
619 0040 5361 str r3, [r2, #20]
445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
620 .loc 1 445 3 view .LVU164
621 0042 2268 ldr r2, [r4]
622 0044 D368 ldr r3, [r2, #12]
623 0046 43F40053 orr r3, r3, #8192
624 004a D360 str r3, [r2, #12]
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
625 .loc 1 448 3 view .LVU165
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
626 .loc 1 448 20 is_stmt 0 view .LVU166
627 004c 0020 movs r0, #0
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 69
628 004e E063 str r0, [r4, #60]
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
629 .loc 1 449 3 is_stmt 1 view .LVU167
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
630 .loc 1 449 17 is_stmt 0 view .LVU168
631 0050 2023 movs r3, #32
632 0052 84F83930 strb r3, [r4, #57]
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
633 .loc 1 450 3 is_stmt 1 view .LVU169
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
634 .loc 1 450 18 is_stmt 0 view .LVU170
635 0056 84F83A30 strb r3, [r4, #58]
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
636 .loc 1 452 3 is_stmt 1 view .LVU171
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
637 .loc 1 453 1 is_stmt 0 view .LVU172
638 005a 10BD pop {r4, pc}
639 .LVL32:
640 .L45:
409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
641 .loc 1 409 5 is_stmt 1 view .LVU173
409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
642 .loc 1 409 17 is_stmt 0 view .LVU174
643 005c 80F83830 strb r3, [r0, #56]
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
644 .loc 1 423 5 is_stmt 1 view .LVU175
645 0060 FFF7FEFF bl HAL_UART_MspInit
646 .LVL33:
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
647 .loc 1 423 5 is_stmt 0 view .LVU176
648 0064 D3E7 b .L39
649 .LVL34:
650 .L40:
651 .LCFI5:
652 .cfi_def_cfa_offset 0
653 .cfi_restore 4
654 .cfi_restore 14
396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
655 .loc 1 396 12 view .LVU177
656 0066 0120 movs r0, #1
657 .LVL35:
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
658 .loc 1 453 1 view .LVU178
659 0068 7047 bx lr
660 .cfi_endproc
661 .LFE66:
663 .section .text.HAL_LIN_Init,"ax",%progbits
664 .align 1
665 .global HAL_LIN_Init
666 .syntax unified
667 .thumb
668 .thumb_func
669 .fpu softvfp
671 HAL_LIN_Init:
672 .LVL36:
673 .LFB67:
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 70
674 .loc 1 467 1 is_stmt 1 view -0
675 .cfi_startproc
676 @ args = 0, pretend = 0, frame = 0
677 @ frame_needed = 0, uses_anonymous_args = 0
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
678 .loc 1 469 3 view .LVU180
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
679 .loc 1 469 6 is_stmt 0 view .LVU181
680 0000 0028 cmp r0, #0
681 0002 3BD0 beq .L49
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
682 .loc 1 467 1 view .LVU182
683 0004 38B5 push {r3, r4, r5, lr}
684 .LCFI6:
685 .cfi_def_cfa_offset 16
686 .cfi_offset 3, -16
687 .cfi_offset 4, -12
688 .cfi_offset 5, -8
689 .cfi_offset 14, -4
690 0006 0446 mov r4, r0
691 0008 0D46 mov r5, r1
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
692 .loc 1 475 3 is_stmt 1 view .LVU183
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_LIN_WORD_LENGTH(huart->Init.WordLength));
693 .loc 1 478 3 view .LVU184
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
694 .loc 1 479 3 view .LVU185
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
695 .loc 1 484 3 view .LVU186
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
696 .loc 1 484 12 is_stmt 0 view .LVU187
697 000a 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
698 .loc 1 484 6 view .LVU188
699 000e 002B cmp r3, #0
700 0010 2FD0 beq .L54
701 .LVL37:
702 .L48:
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
703 .loc 1 505 3 is_stmt 1 view .LVU189
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
704 .loc 1 505 17 is_stmt 0 view .LVU190
705 0012 2423 movs r3, #36
706 0014 84F83930 strb r3, [r4, #57]
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
707 .loc 1 508 3 is_stmt 1 view .LVU191
708 0018 2268 ldr r2, [r4]
709 001a D368 ldr r3, [r2, #12]
710 001c 23F40053 bic r3, r3, #8192
711 0020 D360 str r3, [r2, #12]
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
712 .loc 1 511 3 view .LVU192
713 0022 2046 mov r0, r4
714 0024 FFF7FEFF bl UART_SetConfig
715 .LVL38:
516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN | USART_CR3_SCEN));
716 .loc 1 516 3 view .LVU193
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 71
717 0028 2268 ldr r2, [r4]
718 002a 1369 ldr r3, [r2, #16]
719 002c 23F40063 bic r3, r3, #2048
720 0030 1361 str r3, [r2, #16]
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
721 .loc 1 517 3 view .LVU194
722 0032 2268 ldr r2, [r4]
723 0034 5369 ldr r3, [r2, #20]
724 0036 23F02A03 bic r3, r3, #42
725 003a 5361 str r3, [r2, #20]
520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
726 .loc 1 520 3 view .LVU195
727 003c 2268 ldr r2, [r4]
728 003e 1369 ldr r3, [r2, #16]
729 0040 43F48043 orr r3, r3, #16384
730 0044 1361 str r3, [r2, #16]
523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, BreakDetectLength);
731 .loc 1 523 3 view .LVU196
732 0046 2268 ldr r2, [r4]
733 0048 1369 ldr r3, [r2, #16]
734 004a 23F02003 bic r3, r3, #32
735 004e 1361 str r3, [r2, #16]
524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
736 .loc 1 524 3 view .LVU197
737 0050 2368 ldr r3, [r4]
738 0052 1969 ldr r1, [r3, #16]
739 0054 0D43 orrs r5, r5, r1
740 .LVL39:
524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
741 .loc 1 524 3 is_stmt 0 view .LVU198
742 0056 1D61 str r5, [r3, #16]
527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
743 .loc 1 527 3 is_stmt 1 view .LVU199
744 0058 2268 ldr r2, [r4]
745 005a D368 ldr r3, [r2, #12]
746 005c 43F40053 orr r3, r3, #8192
747 0060 D360 str r3, [r2, #12]
530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
748 .loc 1 530 3 view .LVU200
530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
749 .loc 1 530 20 is_stmt 0 view .LVU201
750 0062 0020 movs r0, #0
751 0064 E063 str r0, [r4, #60]
531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
752 .loc 1 531 3 is_stmt 1 view .LVU202
531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
753 .loc 1 531 17 is_stmt 0 view .LVU203
754 0066 2023 movs r3, #32
755 0068 84F83930 strb r3, [r4, #57]
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
756 .loc 1 532 3 is_stmt 1 view .LVU204
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
757 .loc 1 532 18 is_stmt 0 view .LVU205
758 006c 84F83A30 strb r3, [r4, #58]
534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
759 .loc 1 534 3 is_stmt 1 view .LVU206
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 72
760 .loc 1 535 1 is_stmt 0 view .LVU207
761 0070 38BD pop {r3, r4, r5, pc}
762 .LVL40:
763 .L54:
487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
764 .loc 1 487 5 is_stmt 1 view .LVU208
487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
765 .loc 1 487 17 is_stmt 0 view .LVU209
766 0072 80F83830 strb r3, [r0, #56]
501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
767 .loc 1 501 5 is_stmt 1 view .LVU210
768 0076 FFF7FEFF bl HAL_UART_MspInit
769 .LVL41:
501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
770 .loc 1 501 5 is_stmt 0 view .LVU211
771 007a CAE7 b .L48
772 .LVL42:
773 .L49:
774 .LCFI7:
775 .cfi_def_cfa_offset 0
776 .cfi_restore 3
777 .cfi_restore 4
778 .cfi_restore 5
779 .cfi_restore 14
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
780 .loc 1 471 12 view .LVU212
781 007c 0120 movs r0, #1
782 .LVL43:
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
783 .loc 1 535 1 view .LVU213
784 007e 7047 bx lr
785 .cfi_endproc
786 .LFE67:
788 .section .text.HAL_MultiProcessor_Init,"ax",%progbits
789 .align 1
790 .global HAL_MultiProcessor_Init
791 .syntax unified
792 .thumb
793 .thumb_func
794 .fpu softvfp
796 HAL_MultiProcessor_Init:
797 .LVL44:
798 .LFB68:
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
799 .loc 1 550 1 is_stmt 1 view -0
800 .cfi_startproc
801 @ args = 0, pretend = 0, frame = 0
802 @ frame_needed = 0, uses_anonymous_args = 0
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
803 .loc 1 552 3 view .LVU215
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
804 .loc 1 552 6 is_stmt 0 view .LVU216
805 0000 0028 cmp r0, #0
806 0002 40D0 beq .L58
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
807 .loc 1 550 1 view .LVU217
808 0004 70B5 push {r4, r5, r6, lr}
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 73
809 .LCFI8:
810 .cfi_def_cfa_offset 16
811 .cfi_offset 4, -16
812 .cfi_offset 5, -12
813 .cfi_offset 6, -8
814 .cfi_offset 14, -4
815 0006 0446 mov r4, r0
816 0008 1646 mov r6, r2
817 000a 0D46 mov r5, r1
558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
818 .loc 1 558 3 is_stmt 1 view .LVU218
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_ADDRESS(Address));
819 .loc 1 561 3 view .LVU219
562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** assert_param(IS_UART_WORD_LENGTH(huart->Init.WordLength));
820 .loc 1 562 3 view .LVU220
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if defined(USART_CR1_OVER8)
821 .loc 1 563 3 view .LVU221
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
822 .loc 1 568 3 view .LVU222
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
823 .loc 1 568 12 is_stmt 0 view .LVU223
824 000c 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
825 .loc 1 568 6 view .LVU224
826 0010 002B cmp r3, #0
827 0012 33D0 beq .L63
828 .LVL45:
829 .L57:
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
830 .loc 1 589 3 is_stmt 1 view .LVU225
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
831 .loc 1 589 17 is_stmt 0 view .LVU226
832 0014 2423 movs r3, #36
833 0016 84F83930 strb r3, [r4, #57]
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
834 .loc 1 592 3 is_stmt 1 view .LVU227
835 001a 2268 ldr r2, [r4]
836 001c D368 ldr r3, [r2, #12]
837 001e 23F40053 bic r3, r3, #8192
838 0022 D360 str r3, [r2, #12]
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
839 .loc 1 595 3 view .LVU228
840 0024 2046 mov r0, r4
841 0026 FFF7FEFF bl UART_SetConfig
842 .LVL46:
600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
843 .loc 1 600 3 view .LVU229
844 002a 2268 ldr r2, [r4]
845 002c 1369 ldr r3, [r2, #16]
846 002e 23F49043 bic r3, r3, #18432
847 0032 1361 str r3, [r2, #16]
601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
848 .loc 1 601 3 view .LVU230
849 0034 2268 ldr r2, [r4]
850 0036 5369 ldr r3, [r2, #20]
851 0038 23F02A03 bic r3, r3, #42
852 003c 5361 str r3, [r2, #20]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 74
604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR2, Address);
853 .loc 1 604 3 view .LVU231
854 003e 2268 ldr r2, [r4]
855 0040 1369 ldr r3, [r2, #16]
856 0042 23F00F03 bic r3, r3, #15
857 0046 1361 str r3, [r2, #16]
605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
858 .loc 1 605 3 view .LVU232
859 0048 2368 ldr r3, [r4]
860 004a 1969 ldr r1, [r3, #16]
861 004c 0D43 orrs r5, r5, r1
862 004e 1D61 str r5, [r3, #16]
608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR1, WakeUpMethod);
863 .loc 1 608 3 view .LVU233
864 0050 2268 ldr r2, [r4]
865 0052 D368 ldr r3, [r2, #12]
866 0054 23F40063 bic r3, r3, #2048
867 0058 D360 str r3, [r2, #12]
609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
868 .loc 1 609 3 view .LVU234
869 005a 2168 ldr r1, [r4]
870 005c CB68 ldr r3, [r1, #12]
871 005e 3343 orrs r3, r3, r6
872 0060 CB60 str r3, [r1, #12]
612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
873 .loc 1 612 3 view .LVU235
874 0062 2268 ldr r2, [r4]
875 0064 D368 ldr r3, [r2, #12]
876 0066 43F40053 orr r3, r3, #8192
877 006a D360 str r3, [r2, #12]
615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
878 .loc 1 615 3 view .LVU236
615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
879 .loc 1 615 20 is_stmt 0 view .LVU237
880 006c 0020 movs r0, #0
881 006e E063 str r0, [r4, #60]
616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
882 .loc 1 616 3 is_stmt 1 view .LVU238
616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
883 .loc 1 616 17 is_stmt 0 view .LVU239
884 0070 2023 movs r3, #32
885 0072 84F83930 strb r3, [r4, #57]
617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
886 .loc 1 617 3 is_stmt 1 view .LVU240
617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
887 .loc 1 617 18 is_stmt 0 view .LVU241
888 0076 84F83A30 strb r3, [r4, #58]
619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
889 .loc 1 619 3 is_stmt 1 view .LVU242
620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
890 .loc 1 620 1 is_stmt 0 view .LVU243
891 007a 70BD pop {r4, r5, r6, pc}
892 .LVL47:
893 .L63:
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
894 .loc 1 571 5 is_stmt 1 view .LVU244
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 75
895 .loc 1 571 17 is_stmt 0 view .LVU245
896 007c 80F83830 strb r3, [r0, #56]
585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
897 .loc 1 585 5 is_stmt 1 view .LVU246
898 0080 FFF7FEFF bl HAL_UART_MspInit
899 .LVL48:
585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
900 .loc 1 585 5 is_stmt 0 view .LVU247
901 0084 C6E7 b .L57
902 .LVL49:
903 .L58:
904 .LCFI9:
905 .cfi_def_cfa_offset 0
906 .cfi_restore 4
907 .cfi_restore 5
908 .cfi_restore 6
909 .cfi_restore 14
554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
910 .loc 1 554 12 view .LVU248
911 0086 0120 movs r0, #1
912 .LVL50:
620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
913 .loc 1 620 1 view .LVU249
914 0088 7047 bx lr
915 .cfi_endproc
916 .LFE68:
918 .section .text.HAL_UART_MspDeInit,"ax",%progbits
919 .align 1
920 .weak HAL_UART_MspDeInit
921 .syntax unified
922 .thumb
923 .thumb_func
924 .fpu softvfp
926 HAL_UART_MspDeInit:
927 .LVL51:
928 .LFB71:
688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
929 .loc 1 688 1 is_stmt 1 view -0
930 .cfi_startproc
931 @ args = 0, pretend = 0, frame = 0
932 @ frame_needed = 0, uses_anonymous_args = 0
933 @ link register save eliminated.
690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
934 .loc 1 690 3 view .LVU251
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
935 .loc 1 694 1 is_stmt 0 view .LVU252
936 0000 7047 bx lr
937 .cfi_endproc
938 .LFE71:
940 .section .text.HAL_UART_DeInit,"ax",%progbits
941 .align 1
942 .global HAL_UART_DeInit
943 .syntax unified
944 .thumb
945 .thumb_func
946 .fpu softvfp
948 HAL_UART_DeInit:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 76
949 .LVL52:
950 .LFB69:
629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
951 .loc 1 629 1 is_stmt 1 view -0
952 .cfi_startproc
953 @ args = 0, pretend = 0, frame = 0
954 @ frame_needed = 0, uses_anonymous_args = 0
631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
955 .loc 1 631 3 view .LVU254
631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
956 .loc 1 631 6 is_stmt 0 view .LVU255
957 0000 A0B1 cbz r0, .L67
629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the UART handle allocation */
958 .loc 1 629 1 view .LVU256
959 0002 10B5 push {r4, lr}
960 .LCFI10:
961 .cfi_def_cfa_offset 8
962 .cfi_offset 4, -8
963 .cfi_offset 14, -4
964 0004 0446 mov r4, r0
637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
965 .loc 1 637 3 is_stmt 1 view .LVU257
639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
966 .loc 1 639 3 view .LVU258
639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
967 .loc 1 639 17 is_stmt 0 view .LVU259
968 0006 2423 movs r3, #36
969 0008 80F83930 strb r3, [r0, #57]
642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
970 .loc 1 642 3 is_stmt 1 view .LVU260
971 000c 0268 ldr r2, [r0]
972 000e D368 ldr r3, [r2, #12]
973 0010 23F40053 bic r3, r3, #8192
974 0014 D360 str r3, [r2, #12]
653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
975 .loc 1 653 3 view .LVU261
976 0016 FFF7FEFF bl HAL_UART_MspDeInit
977 .LVL53:
656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
978 .loc 1 656 3 view .LVU262
656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_RESET;
979 .loc 1 656 20 is_stmt 0 view .LVU263
980 001a 0020 movs r0, #0
981 001c E063 str r0, [r4, #60]
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
982 .loc 1 657 3 is_stmt 1 view .LVU264
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_RESET;
983 .loc 1 657 17 is_stmt 0 view .LVU265
984 001e 84F83900 strb r0, [r4, #57]
658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
985 .loc 1 658 3 is_stmt 1 view .LVU266
658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
986 .loc 1 658 18 is_stmt 0 view .LVU267
987 0022 84F83A00 strb r0, [r4, #58]
661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
988 .loc 1 661 3 is_stmt 1 view .LVU268
661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 77
989 .loc 1 661 3 view .LVU269
990 0026 84F83800 strb r0, [r4, #56]
663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
991 .loc 1 663 3 view .LVU270
664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
992 .loc 1 664 1 is_stmt 0 view .LVU271
993 002a 10BD pop {r4, pc}
994 .LVL54:
995 .L67:
996 .LCFI11:
997 .cfi_def_cfa_offset 0
998 .cfi_restore 4
999 .cfi_restore 14
633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1000 .loc 1 633 12 view .LVU272
1001 002c 0120 movs r0, #1
1002 .LVL55:
664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1003 .loc 1 664 1 view .LVU273
1004 002e 7047 bx lr
1005 .cfi_endproc
1006 .LFE69:
1008 .section .text.HAL_UART_Transmit,"ax",%progbits
1009 .align 1
1010 .global HAL_UART_Transmit
1011 .syntax unified
1012 .thumb
1013 .thumb_func
1014 .fpu softvfp
1016 HAL_UART_Transmit:
1017 .LVL56:
1018 .LFB72:
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
1019 .loc 1 1028 1 is_stmt 1 view -0
1020 .cfi_startproc
1021 @ args = 0, pretend = 0, frame = 0
1022 @ frame_needed = 0, uses_anonymous_args = 0
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
1023 .loc 1 1028 1 is_stmt 0 view .LVU275
1024 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1025 .LCFI12:
1026 .cfi_def_cfa_offset 24
1027 .cfi_offset 4, -24
1028 .cfi_offset 5, -20
1029 .cfi_offset 6, -16
1030 .cfi_offset 7, -12
1031 .cfi_offset 8, -8
1032 .cfi_offset 14, -4
1033 0004 82B0 sub sp, sp, #8
1034 .LCFI13:
1035 .cfi_def_cfa_offset 32
1036 0006 1E46 mov r6, r3
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tickstart = 0U;
1037 .loc 1 1029 3 is_stmt 1 view .LVU276
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1038 .loc 1 1030 3 view .LVU277
1039 .LVL57:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 78
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1040 .loc 1 1033 3 view .LVU278
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1041 .loc 1 1033 12 is_stmt 0 view .LVU279
1042 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
1043 .LVL58:
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1044 .loc 1 1033 12 view .LVU280
1045 000c DBB2 uxtb r3, r3
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1046 .loc 1 1033 6 view .LVU281
1047 000e 202B cmp r3, #32
1048 0010 55D1 bne .L79
1049 0012 0446 mov r4, r0
1050 0014 0D46 mov r5, r1
1051 0016 9046 mov r8, r2
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1052 .loc 1 1035 5 is_stmt 1 view .LVU282
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1053 .loc 1 1035 8 is_stmt 0 view .LVU283
1054 0018 0029 cmp r1, #0
1055 001a 55D0 beq .L80
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1056 .loc 1 1035 25 discriminator 1 view .LVU284
1057 001c 002A cmp r2, #0
1058 001e 55D0 beq .L81
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1059 .loc 1 1041 5 is_stmt 1 view .LVU285
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1060 .loc 1 1041 5 view .LVU286
1061 0020 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1062 0024 012B cmp r3, #1
1063 0026 53D0 beq .L82
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1064 .loc 1 1041 5 discriminator 2 view .LVU287
1065 0028 0123 movs r3, #1
1066 002a 80F83830 strb r3, [r0, #56]
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1067 .loc 1 1043 5 discriminator 2 view .LVU288
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1068 .loc 1 1043 22 is_stmt 0 discriminator 2 view .LVU289
1069 002e 0023 movs r3, #0
1070 0030 C363 str r3, [r0, #60]
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1071 .loc 1 1044 5 is_stmt 1 discriminator 2 view .LVU290
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1072 .loc 1 1044 19 is_stmt 0 discriminator 2 view .LVU291
1073 0032 2123 movs r3, #33
1074 0034 80F83930 strb r3, [r0, #57]
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1075 .loc 1 1047 5 is_stmt 1 discriminator 2 view .LVU292
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1076 .loc 1 1047 17 is_stmt 0 discriminator 2 view .LVU293
1077 0038 FFF7FEFF bl HAL_GetTick
1078 .LVL59:
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1079 .loc 1 1047 17 discriminator 2 view .LVU294
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 79
1080 003c 0746 mov r7, r0
1081 .LVL60:
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1082 .loc 1 1049 5 is_stmt 1 discriminator 2 view .LVU295
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1083 .loc 1 1049 23 is_stmt 0 discriminator 2 view .LVU296
1084 003e A4F82480 strh r8, [r4, #36] @ movhi
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1085 .loc 1 1050 5 is_stmt 1 discriminator 2 view .LVU297
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** while (huart->TxXferCount > 0U)
1086 .loc 1 1050 24 is_stmt 0 discriminator 2 view .LVU298
1087 0042 A4F82680 strh r8, [r4, #38] @ movhi
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1088 .loc 1 1051 5 is_stmt 1 discriminator 2 view .LVU299
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1089 .loc 1 1051 11 is_stmt 0 discriminator 2 view .LVU300
1090 0046 10E0 b .L74
1091 .LVL61:
1092 .L88:
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1093 .loc 1 1056 9 is_stmt 1 view .LVU301
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1094 .loc 1 1056 13 is_stmt 0 view .LVU302
1095 0048 0096 str r6, [sp]
1096 004a 3B46 mov r3, r7
1097 004c 0022 movs r2, #0
1098 004e 8021 movs r1, #128
1099 0050 2046 mov r0, r4
1100 0052 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1101 .LVL62:
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1102 .loc 1 1056 12 view .LVU303
1103 0056 0028 cmp r0, #0
1104 0058 3CD1 bne .L83
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->Instance->DR = (*tmp & (uint16_t)0x01FF);
1105 .loc 1 1060 9 is_stmt 1 view .LVU304
1106 .LVL63:
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1107 .loc 1 1061 9 view .LVU305
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1108 .loc 1 1061 32 is_stmt 0 view .LVU306
1109 005a 2B88 ldrh r3, [r5]
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1110 .loc 1 1061 14 view .LVU307
1111 005c 2268 ldr r2, [r4]
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1112 .loc 1 1061 37 view .LVU308
1113 005e C3F30803 ubfx r3, r3, #0, #9
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1114 .loc 1 1061 29 view .LVU309
1115 0062 5360 str r3, [r2, #4]
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1116 .loc 1 1062 9 is_stmt 1 view .LVU310
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1117 .loc 1 1062 24 is_stmt 0 view .LVU311
1118 0064 2369 ldr r3, [r4, #16]
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 80
1119 .loc 1 1062 12 view .LVU312
1120 0066 C3B9 cbnz r3, .L76
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1121 .loc 1 1064 11 is_stmt 1 view .LVU313
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1122 .loc 1 1064 17 is_stmt 0 view .LVU314
1123 0068 0235 adds r5, r5, #2
1124 .LVL64:
1125 .L74:
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1126 .loc 1 1051 17 view .LVU315
1127 006a E38C ldrh r3, [r4, #38]
1128 006c 9BB2 uxth r3, r3
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1129 .loc 1 1051 11 view .LVU316
1130 006e B3B1 cbz r3, .L87
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1131 .loc 1 1053 7 is_stmt 1 view .LVU317
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1132 .loc 1 1053 12 is_stmt 0 view .LVU318
1133 0070 E38C ldrh r3, [r4, #38]
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1134 .loc 1 1053 25 view .LVU319
1135 0072 013B subs r3, r3, #1
1136 0074 9BB2 uxth r3, r3
1137 0076 E384 strh r3, [r4, #38] @ movhi
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1138 .loc 1 1054 7 is_stmt 1 view .LVU320
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1139 .loc 1 1054 22 is_stmt 0 view .LVU321
1140 0078 A368 ldr r3, [r4, #8]
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1141 .loc 1 1054 10 view .LVU322
1142 007a B3F5805F cmp r3, #4096
1143 007e E3D0 beq .L88
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1144 .loc 1 1073 9 is_stmt 1 view .LVU323
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1145 .loc 1 1073 13 is_stmt 0 view .LVU324
1146 0080 0096 str r6, [sp]
1147 0082 3B46 mov r3, r7
1148 0084 0022 movs r2, #0
1149 0086 8021 movs r1, #128
1150 0088 2046 mov r0, r4
1151 008a FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1152 .LVL65:
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1153 .loc 1 1073 12 view .LVU325
1154 008e 18BB cbnz r0, .L84
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1155 .loc 1 1077 9 is_stmt 1 view .LVU326
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1156 .loc 1 1077 32 is_stmt 0 view .LVU327
1157 0090 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2
1158 .LVL66:
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1159 .loc 1 1077 14 view .LVU328
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 81
1160 0094 2368 ldr r3, [r4]
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1161 .loc 1 1077 29 view .LVU329
1162 0096 5A60 str r2, [r3, #4]
1163 0098 E7E7 b .L74
1164 .LVL67:
1165 .L76:
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1166 .loc 1 1068 11 is_stmt 1 view .LVU330
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1167 .loc 1 1068 17 is_stmt 0 view .LVU331
1168 009a 0135 adds r5, r5, #1
1169 .LVL68:
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1170 .loc 1 1068 17 view .LVU332
1171 009c E5E7 b .L74
1172 .LVL69:
1173 .L87:
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1174 .loc 1 1081 5 is_stmt 1 view .LVU333
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1175 .loc 1 1081 9 is_stmt 0 view .LVU334
1176 009e 0096 str r6, [sp]
1177 00a0 3B46 mov r3, r7
1178 00a2 0022 movs r2, #0
1179 00a4 4021 movs r1, #64
1180 00a6 2046 mov r0, r4
1181 00a8 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1182 .LVL70:
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1183 .loc 1 1081 8 view .LVU335
1184 00ac 0346 mov r3, r0
1185 00ae A8B9 cbnz r0, .L85
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1186 .loc 1 1087 5 is_stmt 1 view .LVU336
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1187 .loc 1 1087 19 is_stmt 0 view .LVU337
1188 00b0 2022 movs r2, #32
1189 00b2 84F83920 strb r2, [r4, #57]
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1190 .loc 1 1090 5 is_stmt 1 view .LVU338
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1191 .loc 1 1090 5 view .LVU339
1192 00b6 0022 movs r2, #0
1193 00b8 84F83820 strb r2, [r4, #56]
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1194 .loc 1 1092 5 view .LVU340
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1195 .loc 1 1092 12 is_stmt 0 view .LVU341
1196 00bc 00E0 b .L73
1197 .LVL71:
1198 .L79:
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1199 .loc 1 1096 12 view .LVU342
1200 00be 0223 movs r3, #2
1201 .LVL72:
1202 .L73:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 82
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1203 .loc 1 1098 1 view .LVU343
1204 00c0 1846 mov r0, r3
1205 00c2 02B0 add sp, sp, #8
1206 .LCFI14:
1207 .cfi_remember_state
1208 .cfi_def_cfa_offset 24
1209 @ sp needed
1210 00c4 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1211 .LVL73:
1212 .L80:
1213 .LCFI15:
1214 .cfi_restore_state
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1215 .loc 1 1037 15 view .LVU344
1216 00c8 0123 movs r3, #1
1217 00ca F9E7 b .L73
1218 .L81:
1219 00cc 0123 movs r3, #1
1220 00ce F7E7 b .L73
1221 .L82:
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1222 .loc 1 1041 5 view .LVU345
1223 00d0 0223 movs r3, #2
1224 00d2 F5E7 b .L73
1225 .LVL74:
1226 .L83:
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1227 .loc 1 1058 18 view .LVU346
1228 00d4 0323 movs r3, #3
1229 00d6 F3E7 b .L73
1230 .L84:
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1231 .loc 1 1075 18 view .LVU347
1232 00d8 0323 movs r3, #3
1233 00da F1E7 b .L73
1234 .L85:
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1235 .loc 1 1083 14 view .LVU348
1236 00dc 0323 movs r3, #3
1237 00de EFE7 b .L73
1238 .cfi_endproc
1239 .LFE72:
1241 .section .text.HAL_UART_Receive,"ax",%progbits
1242 .align 1
1243 .global HAL_UART_Receive
1244 .syntax unified
1245 .thumb
1246 .thumb_func
1247 .fpu softvfp
1249 HAL_UART_Receive:
1250 .LVL75:
1251 .LFB73:
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
1252 .loc 1 1113 1 is_stmt 1 view -0
1253 .cfi_startproc
1254 @ args = 0, pretend = 0, frame = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 83
1255 @ frame_needed = 0, uses_anonymous_args = 0
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
1256 .loc 1 1113 1 is_stmt 0 view .LVU350
1257 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1258 .LCFI16:
1259 .cfi_def_cfa_offset 24
1260 .cfi_offset 4, -24
1261 .cfi_offset 5, -20
1262 .cfi_offset 6, -16
1263 .cfi_offset 7, -12
1264 .cfi_offset 8, -8
1265 .cfi_offset 14, -4
1266 0004 82B0 sub sp, sp, #8
1267 .LCFI17:
1268 .cfi_def_cfa_offset 32
1269 0006 1E46 mov r6, r3
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tickstart = 0U;
1270 .loc 1 1114 3 is_stmt 1 view .LVU351
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1271 .loc 1 1115 3 view .LVU352
1272 .LVL76:
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1273 .loc 1 1118 3 view .LVU353
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1274 .loc 1 1118 12 is_stmt 0 view .LVU354
1275 0008 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
1276 .LVL77:
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1277 .loc 1 1118 12 view .LVU355
1278 000c DBB2 uxtb r3, r3
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1279 .loc 1 1118 6 view .LVU356
1280 000e 202B cmp r3, #32
1281 0010 5AD1 bne .L97
1282 0012 0446 mov r4, r0
1283 0014 0D46 mov r5, r1
1284 0016 9046 mov r8, r2
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1285 .loc 1 1120 5 is_stmt 1 view .LVU357
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1286 .loc 1 1120 8 is_stmt 0 view .LVU358
1287 0018 0029 cmp r1, #0
1288 001a 59D0 beq .L98
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1289 .loc 1 1120 25 discriminator 1 view .LVU359
1290 001c 002A cmp r2, #0
1291 001e 59D0 beq .L99
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1292 .loc 1 1126 5 is_stmt 1 view .LVU360
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1293 .loc 1 1126 5 view .LVU361
1294 0020 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1295 0024 012B cmp r3, #1
1296 0026 57D0 beq .L100
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1297 .loc 1 1126 5 discriminator 2 view .LVU362
1298 0028 0123 movs r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 84
1299 002a 80F83830 strb r3, [r0, #56]
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1300 .loc 1 1128 5 discriminator 2 view .LVU363
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1301 .loc 1 1128 22 is_stmt 0 discriminator 2 view .LVU364
1302 002e 0023 movs r3, #0
1303 0030 C363 str r3, [r0, #60]
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1304 .loc 1 1129 5 is_stmt 1 discriminator 2 view .LVU365
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1305 .loc 1 1129 20 is_stmt 0 discriminator 2 view .LVU366
1306 0032 2223 movs r3, #34
1307 0034 80F83A30 strb r3, [r0, #58]
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1308 .loc 1 1132 5 is_stmt 1 discriminator 2 view .LVU367
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1309 .loc 1 1132 17 is_stmt 0 discriminator 2 view .LVU368
1310 0038 FFF7FEFF bl HAL_GetTick
1311 .LVL78:
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1312 .loc 1 1132 17 discriminator 2 view .LVU369
1313 003c 0746 mov r7, r0
1314 .LVL79:
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = Size;
1315 .loc 1 1134 5 is_stmt 1 discriminator 2 view .LVU370
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = Size;
1316 .loc 1 1134 23 is_stmt 0 discriminator 2 view .LVU371
1317 003e A4F82C80 strh r8, [r4, #44] @ movhi
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1318 .loc 1 1135 5 is_stmt 1 discriminator 2 view .LVU372
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1319 .loc 1 1135 24 is_stmt 0 discriminator 2 view .LVU373
1320 0042 A4F82E80 strh r8, [r4, #46] @ movhi
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1321 .loc 1 1138 5 is_stmt 1 discriminator 2 view .LVU374
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1322 .loc 1 1138 11 is_stmt 0 discriminator 2 view .LVU375
1323 0046 1DE0 b .L91
1324 .LVL80:
1325 .L105:
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1326 .loc 1 1143 9 is_stmt 1 view .LVU376
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1327 .loc 1 1143 13 is_stmt 0 view .LVU377
1328 0048 0096 str r6, [sp]
1329 004a 3B46 mov r3, r7
1330 004c 0022 movs r2, #0
1331 004e 2021 movs r1, #32
1332 0050 2046 mov r0, r4
1333 0052 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1334 .LVL81:
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1335 .loc 1 1143 12 view .LVU378
1336 0056 0028 cmp r0, #0
1337 0058 40D1 bne .L101
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
1338 .loc 1 1147 9 is_stmt 1 view .LVU379
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 85
1339 .LVL82:
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1340 .loc 1 1148 9 view .LVU380
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1341 .loc 1 1148 24 is_stmt 0 view .LVU381
1342 005a 2369 ldr r3, [r4, #16]
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1343 .loc 1 1148 12 view .LVU382
1344 005c 33B9 cbnz r3, .L93
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 2U;
1345 .loc 1 1150 11 is_stmt 1 view .LVU383
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 2U;
1346 .loc 1 1150 34 is_stmt 0 view .LVU384
1347 005e 2368 ldr r3, [r4]
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 2U;
1348 .loc 1 1150 44 view .LVU385
1349 0060 5B68 ldr r3, [r3, #4]
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 2U;
1350 .loc 1 1150 18 view .LVU386
1351 0062 C3F30803 ubfx r3, r3, #0, #9
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 2U;
1352 .loc 1 1150 16 view .LVU387
1353 0066 25F8023B strh r3, [r5], #2 @ movhi
1354 .LVL83:
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1355 .loc 1 1151 11 is_stmt 1 view .LVU388
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1356 .loc 1 1151 11 is_stmt 0 view .LVU389
1357 006a 0BE0 b .L91
1358 .LVL84:
1359 .L93:
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 1U;
1360 .loc 1 1155 11 is_stmt 1 view .LVU390
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 1U;
1361 .loc 1 1155 34 is_stmt 0 view .LVU391
1362 006c 2368 ldr r3, [r4]
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 1U;
1363 .loc 1 1155 44 view .LVU392
1364 006e 5B68 ldr r3, [r3, #4]
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 1U;
1365 .loc 1 1155 18 view .LVU393
1366 0070 DBB2 uxtb r3, r3
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** pData += 1U;
1367 .loc 1 1155 16 view .LVU394
1368 0072 25F8013B strh r3, [r5], #1 @ movhi
1369 .LVL85:
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1370 .loc 1 1156 11 is_stmt 1 view .LVU395
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1371 .loc 1 1156 11 is_stmt 0 view .LVU396
1372 0076 05E0 b .L91
1373 .LVL86:
1374 .L95:
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1375 .loc 1 1172 11 is_stmt 1 view .LVU397
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1376 .loc 1 1172 37 is_stmt 0 view .LVU398
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 86
1377 0078 2368 ldr r3, [r4]
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1378 .loc 1 1172 47 view .LVU399
1379 007a 5B68 ldr r3, [r3, #4]
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1380 .loc 1 1172 22 view .LVU400
1381 007c 03F07F03 and r3, r3, #127
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1382 .loc 1 1172 20 view .LVU401
1383 0080 05F8013B strb r3, [r5], #1
1384 .LVL87:
1385 .L91:
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1386 .loc 1 1138 17 view .LVU402
1387 0084 E38D ldrh r3, [r4, #46]
1388 0086 9BB2 uxth r3, r3
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1389 .loc 1 1138 11 view .LVU403
1390 0088 BBB1 cbz r3, .L104
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1391 .loc 1 1140 7 is_stmt 1 view .LVU404
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1392 .loc 1 1140 12 is_stmt 0 view .LVU405
1393 008a E38D ldrh r3, [r4, #46]
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.WordLength == UART_WORDLENGTH_9B)
1394 .loc 1 1140 25 view .LVU406
1395 008c 013B subs r3, r3, #1
1396 008e 9BB2 uxth r3, r3
1397 0090 E385 strh r3, [r4, #46] @ movhi
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1398 .loc 1 1141 7 is_stmt 1 view .LVU407
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1399 .loc 1 1141 22 is_stmt 0 view .LVU408
1400 0092 A368 ldr r3, [r4, #8]
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1401 .loc 1 1141 10 view .LVU409
1402 0094 B3F5805F cmp r3, #4096
1403 0098 D6D0 beq .L105
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1404 .loc 1 1162 9 is_stmt 1 view .LVU410
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1405 .loc 1 1162 13 is_stmt 0 view .LVU411
1406 009a 0096 str r6, [sp]
1407 009c 3B46 mov r3, r7
1408 009e 0022 movs r2, #0
1409 00a0 2021 movs r1, #32
1410 00a2 2046 mov r0, r4
1411 00a4 FFF7FEFF bl UART_WaitOnFlagUntilTimeout
1412 .LVL88:
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1413 .loc 1 1162 12 view .LVU412
1414 00a8 D0B9 cbnz r0, .L102
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1415 .loc 1 1166 9 is_stmt 1 view .LVU413
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1416 .loc 1 1166 24 is_stmt 0 view .LVU414
1417 00aa 2369 ldr r3, [r4, #16]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 87
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1418 .loc 1 1166 12 view .LVU415
1419 00ac 002B cmp r3, #0
1420 00ae E3D1 bne .L95
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1421 .loc 1 1168 11 is_stmt 1 view .LVU416
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1422 .loc 1 1168 37 is_stmt 0 view .LVU417
1423 00b0 2368 ldr r3, [r4]
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1424 .loc 1 1168 47 view .LVU418
1425 00b2 5B68 ldr r3, [r3, #4]
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1426 .loc 1 1168 20 view .LVU419
1427 00b4 05F8013B strb r3, [r5], #1
1428 .LVL89:
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1429 .loc 1 1168 20 view .LVU420
1430 00b8 E4E7 b .L91
1431 .LVL90:
1432 .L104:
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1433 .loc 1 1179 5 is_stmt 1 view .LVU421
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1434 .loc 1 1179 20 is_stmt 0 view .LVU422
1435 00ba 2023 movs r3, #32
1436 00bc 84F83A30 strb r3, [r4, #58]
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1437 .loc 1 1182 5 is_stmt 1 view .LVU423
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1438 .loc 1 1182 5 view .LVU424
1439 00c0 0020 movs r0, #0
1440 00c2 84F83800 strb r0, [r4, #56]
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1441 .loc 1 1184 5 view .LVU425
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1442 .loc 1 1184 12 is_stmt 0 view .LVU426
1443 00c6 00E0 b .L90
1444 .LVL91:
1445 .L97:
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1446 .loc 1 1188 12 view .LVU427
1447 00c8 0220 movs r0, #2
1448 .LVL92:
1449 .L90:
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1450 .loc 1 1190 1 view .LVU428
1451 00ca 02B0 add sp, sp, #8
1452 .LCFI18:
1453 .cfi_remember_state
1454 .cfi_def_cfa_offset 24
1455 @ sp needed
1456 00cc BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1457 .LVL93:
1458 .L98:
1459 .LCFI19:
1460 .cfi_restore_state
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 88
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1461 .loc 1 1122 15 view .LVU429
1462 00d0 0120 movs r0, #1
1463 .LVL94:
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1464 .loc 1 1122 15 view .LVU430
1465 00d2 FAE7 b .L90
1466 .LVL95:
1467 .L99:
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1468 .loc 1 1122 15 view .LVU431
1469 00d4 0120 movs r0, #1
1470 .LVL96:
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1471 .loc 1 1122 15 view .LVU432
1472 00d6 F8E7 b .L90
1473 .LVL97:
1474 .L100:
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1475 .loc 1 1126 5 view .LVU433
1476 00d8 0220 movs r0, #2
1477 .LVL98:
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1478 .loc 1 1126 5 view .LVU434
1479 00da F6E7 b .L90
1480 .LVL99:
1481 .L101:
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1482 .loc 1 1145 18 view .LVU435
1483 00dc 0320 movs r0, #3
1484 00de F4E7 b .L90
1485 .L102:
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1486 .loc 1 1164 18 view .LVU436
1487 00e0 0320 movs r0, #3
1488 00e2 F2E7 b .L90
1489 .cfi_endproc
1490 .LFE73:
1492 .section .text.HAL_UART_Transmit_IT,"ax",%progbits
1493 .align 1
1494 .global HAL_UART_Transmit_IT
1495 .syntax unified
1496 .thumb
1497 .thumb_func
1498 .fpu softvfp
1500 HAL_UART_Transmit_IT:
1501 .LVL100:
1502 .LFB74:
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Tx process is not already ongoing */
1503 .loc 1 1204 1 is_stmt 1 view -0
1504 .cfi_startproc
1505 @ args = 0, pretend = 0, frame = 0
1506 @ frame_needed = 0, uses_anonymous_args = 0
1507 @ link register save eliminated.
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1508 .loc 1 1206 3 view .LVU438
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 89
1509 .loc 1 1206 12 is_stmt 0 view .LVU439
1510 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
1511 0004 DBB2 uxtb r3, r3
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1512 .loc 1 1206 6 view .LVU440
1513 0006 202B cmp r3, #32
1514 0008 16D1 bne .L108
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1515 .loc 1 1208 5 is_stmt 1 view .LVU441
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1516 .loc 1 1208 8 is_stmt 0 view .LVU442
1517 000a B9B1 cbz r1, .L109
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1518 .loc 1 1208 25 discriminator 1 view .LVU443
1519 000c C2B1 cbz r2, .L110
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1520 .loc 1 1214 5 is_stmt 1 view .LVU444
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1521 .loc 1 1214 5 view .LVU445
1522 000e 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1523 0012 012B cmp r3, #1
1524 0014 16D0 beq .L111
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1525 .loc 1 1214 5 discriminator 2 view .LVU446
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferSize = Size;
1526 .loc 1 1216 5 discriminator 2 view .LVU447
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferSize = Size;
1527 .loc 1 1216 23 is_stmt 0 discriminator 2 view .LVU448
1528 0016 0162 str r1, [r0, #32]
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1529 .loc 1 1217 5 is_stmt 1 discriminator 2 view .LVU449
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1530 .loc 1 1217 23 is_stmt 0 discriminator 2 view .LVU450
1531 0018 8284 strh r2, [r0, #36] @ movhi
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1532 .loc 1 1218 5 is_stmt 1 discriminator 2 view .LVU451
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1533 .loc 1 1218 24 is_stmt 0 discriminator 2 view .LVU452
1534 001a C284 strh r2, [r0, #38] @ movhi
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1535 .loc 1 1220 5 is_stmt 1 discriminator 2 view .LVU453
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1536 .loc 1 1220 22 is_stmt 0 discriminator 2 view .LVU454
1537 001c 0023 movs r3, #0
1538 001e C363 str r3, [r0, #60]
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1539 .loc 1 1221 5 is_stmt 1 discriminator 2 view .LVU455
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1540 .loc 1 1221 19 is_stmt 0 discriminator 2 view .LVU456
1541 0020 2122 movs r2, #33
1542 .LVL101:
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1543 .loc 1 1221 19 discriminator 2 view .LVU457
1544 0022 80F83920 strb r2, [r0, #57]
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1545 .loc 1 1224 5 is_stmt 1 discriminator 2 view .LVU458
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 90
1546 .loc 1 1224 5 discriminator 2 view .LVU459
1547 0026 80F83830 strb r3, [r0, #56]
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1548 .loc 1 1227 5 discriminator 2 view .LVU460
1549 002a 0168 ldr r1, [r0]
1550 .LVL102:
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1551 .loc 1 1227 5 is_stmt 0 discriminator 2 view .LVU461
1552 002c CA68 ldr r2, [r1, #12]
1553 002e 42F08002 orr r2, r2, #128
1554 0032 CA60 str r2, [r1, #12]
1555 .LVL103:
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1556 .loc 1 1229 5 is_stmt 1 discriminator 2 view .LVU462
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1557 .loc 1 1229 12 is_stmt 0 discriminator 2 view .LVU463
1558 0034 1846 mov r0, r3
1559 .LVL104:
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1560 .loc 1 1229 12 discriminator 2 view .LVU464
1561 0036 7047 bx lr
1562 .LVL105:
1563 .L108:
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1564 .loc 1 1233 12 view .LVU465
1565 0038 0220 movs r0, #2
1566 .LVL106:
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1567 .loc 1 1233 12 view .LVU466
1568 003a 7047 bx lr
1569 .LVL107:
1570 .L109:
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1571 .loc 1 1210 14 view .LVU467
1572 003c 0120 movs r0, #1
1573 .LVL108:
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1574 .loc 1 1210 14 view .LVU468
1575 003e 7047 bx lr
1576 .LVL109:
1577 .L110:
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1578 .loc 1 1210 14 view .LVU469
1579 0040 0120 movs r0, #1
1580 .LVL110:
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1581 .loc 1 1210 14 view .LVU470
1582 0042 7047 bx lr
1583 .LVL111:
1584 .L111:
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1585 .loc 1 1214 5 view .LVU471
1586 0044 0220 movs r0, #2
1587 .LVL112:
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1588 .loc 1 1235 1 view .LVU472
1589 0046 7047 bx lr
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 91
1590 .cfi_endproc
1591 .LFE74:
1593 .section .text.HAL_UART_Receive_IT,"ax",%progbits
1594 .align 1
1595 .global HAL_UART_Receive_IT
1596 .syntax unified
1597 .thumb
1598 .thumb_func
1599 .fpu softvfp
1601 HAL_UART_Receive_IT:
1602 .LVL113:
1603 .LFB75:
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check that a Rx process is not already ongoing */
1604 .loc 1 1249 1 is_stmt 1 view -0
1605 .cfi_startproc
1606 @ args = 0, pretend = 0, frame = 0
1607 @ frame_needed = 0, uses_anonymous_args = 0
1608 @ link register save eliminated.
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1609 .loc 1 1251 3 view .LVU474
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1610 .loc 1 1251 12 is_stmt 0 view .LVU475
1611 0000 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
1612 0004 DBB2 uxtb r3, r3
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1613 .loc 1 1251 6 view .LVU476
1614 0006 202B cmp r3, #32
1615 0008 20D1 bne .L114
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1616 .loc 1 1253 5 is_stmt 1 view .LVU477
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1617 .loc 1 1253 8 is_stmt 0 view .LVU478
1618 000a 09B3 cbz r1, .L115
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1619 .loc 1 1253 25 discriminator 1 view .LVU479
1620 000c 12B3 cbz r2, .L116
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1621 .loc 1 1259 5 is_stmt 1 view .LVU480
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1622 .loc 1 1259 5 view .LVU481
1623 000e 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1624 0012 012B cmp r3, #1
1625 0014 20D0 beq .L117
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1626 .loc 1 1259 5 discriminator 2 view .LVU482
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferSize = Size;
1627 .loc 1 1261 5 discriminator 2 view .LVU483
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferSize = Size;
1628 .loc 1 1261 23 is_stmt 0 discriminator 2 view .LVU484
1629 0016 8162 str r1, [r0, #40]
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = Size;
1630 .loc 1 1262 5 is_stmt 1 discriminator 2 view .LVU485
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = Size;
1631 .loc 1 1262 23 is_stmt 0 discriminator 2 view .LVU486
1632 0018 8285 strh r2, [r0, #44] @ movhi
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1633 .loc 1 1263 5 is_stmt 1 discriminator 2 view .LVU487
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 92
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1634 .loc 1 1263 24 is_stmt 0 discriminator 2 view .LVU488
1635 001a C285 strh r2, [r0, #46] @ movhi
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1636 .loc 1 1265 5 is_stmt 1 discriminator 2 view .LVU489
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1637 .loc 1 1265 22 is_stmt 0 discriminator 2 view .LVU490
1638 001c 0023 movs r3, #0
1639 001e C363 str r3, [r0, #60]
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1640 .loc 1 1266 5 is_stmt 1 discriminator 2 view .LVU491
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1641 .loc 1 1266 20 is_stmt 0 discriminator 2 view .LVU492
1642 0020 2222 movs r2, #34
1643 .LVL114:
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1644 .loc 1 1266 20 discriminator 2 view .LVU493
1645 0022 80F83A20 strb r2, [r0, #58]
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1646 .loc 1 1269 5 is_stmt 1 discriminator 2 view .LVU494
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1647 .loc 1 1269 5 discriminator 2 view .LVU495
1648 0026 80F83830 strb r3, [r0, #56]
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1649 .loc 1 1272 5 discriminator 2 view .LVU496
1650 002a 0168 ldr r1, [r0]
1651 .LVL115:
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1652 .loc 1 1272 5 is_stmt 0 discriminator 2 view .LVU497
1653 002c CA68 ldr r2, [r1, #12]
1654 002e 42F48072 orr r2, r2, #256
1655 0032 CA60 str r2, [r1, #12]
1656 .LVL116:
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1657 .loc 1 1275 5 is_stmt 1 discriminator 2 view .LVU498
1658 0034 0168 ldr r1, [r0]
1659 0036 4A69 ldr r2, [r1, #20]
1660 0038 42F00102 orr r2, r2, #1
1661 003c 4A61 str r2, [r1, #20]
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1662 .loc 1 1278 5 discriminator 2 view .LVU499
1663 003e 0168 ldr r1, [r0]
1664 0040 CA68 ldr r2, [r1, #12]
1665 0042 42F02002 orr r2, r2, #32
1666 0046 CA60 str r2, [r1, #12]
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1667 .loc 1 1280 5 discriminator 2 view .LVU500
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1668 .loc 1 1280 12 is_stmt 0 discriminator 2 view .LVU501
1669 0048 1846 mov r0, r3
1670 .LVL117:
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1671 .loc 1 1280 12 discriminator 2 view .LVU502
1672 004a 7047 bx lr
1673 .LVL118:
1674 .L114:
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 93
1675 .loc 1 1284 12 view .LVU503
1676 004c 0220 movs r0, #2
1677 .LVL119:
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1678 .loc 1 1284 12 view .LVU504
1679 004e 7047 bx lr
1680 .LVL120:
1681 .L115:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1682 .loc 1 1255 14 view .LVU505
1683 0050 0120 movs r0, #1
1684 .LVL121:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1685 .loc 1 1255 14 view .LVU506
1686 0052 7047 bx lr
1687 .LVL122:
1688 .L116:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1689 .loc 1 1255 14 view .LVU507
1690 0054 0120 movs r0, #1
1691 .LVL123:
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1692 .loc 1 1255 14 view .LVU508
1693 0056 7047 bx lr
1694 .LVL124:
1695 .L117:
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1696 .loc 1 1259 5 view .LVU509
1697 0058 0220 movs r0, #2
1698 .LVL125:
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1699 .loc 1 1286 1 view .LVU510
1700 005a 7047 bx lr
1701 .cfi_endproc
1702 .LFE75:
1704 .section .text.HAL_UART_Transmit_DMA,"ax",%progbits
1705 .align 1
1706 .global HAL_UART_Transmit_DMA
1707 .syntax unified
1708 .thumb
1709 .thumb_func
1710 .fpu softvfp
1712 HAL_UART_Transmit_DMA:
1713 .LVL126:
1714 .LFB76:
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t *tmp;
1715 .loc 1 1300 1 is_stmt 1 view -0
1716 .cfi_startproc
1717 @ args = 0, pretend = 0, frame = 0
1718 @ frame_needed = 0, uses_anonymous_args = 0
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t *tmp;
1719 .loc 1 1300 1 is_stmt 0 view .LVU512
1720 0000 38B5 push {r3, r4, r5, lr}
1721 .LCFI20:
1722 .cfi_def_cfa_offset 16
1723 .cfi_offset 3, -16
1724 .cfi_offset 4, -12
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 94
1725 .cfi_offset 5, -8
1726 .cfi_offset 14, -4
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1727 .loc 1 1301 3 is_stmt 1 view .LVU513
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1728 .loc 1 1304 3 view .LVU514
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1729 .loc 1 1304 12 is_stmt 0 view .LVU515
1730 0002 90F83950 ldrb r5, [r0, #57] @ zero_extendqisi2
1731 0006 EDB2 uxtb r5, r5
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1732 .loc 1 1304 6 view .LVU516
1733 0008 202D cmp r5, #32
1734 000a 31D1 bne .L120
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1735 .loc 1 1306 5 is_stmt 1 view .LVU517
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1736 .loc 1 1306 8 is_stmt 0 view .LVU518
1737 000c 0029 cmp r1, #0
1738 000e 31D0 beq .L121
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1739 .loc 1 1306 25 discriminator 1 view .LVU519
1740 0010 002A cmp r2, #0
1741 0012 31D0 beq .L122
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1742 .loc 1 1312 5 is_stmt 1 view .LVU520
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1743 .loc 1 1312 5 view .LVU521
1744 0014 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1745 0018 012B cmp r3, #1
1746 001a 2FD0 beq .L123
1747 001c 1346 mov r3, r2
1748 001e 0446 mov r4, r0
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1749 .loc 1 1312 5 discriminator 2 view .LVU522
1750 0020 0122 movs r2, #1
1751 .LVL127:
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1752 .loc 1 1312 5 is_stmt 0 discriminator 2 view .LVU523
1753 0022 80F83820 strb r2, [r0, #56]
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferSize = Size;
1754 .loc 1 1314 5 is_stmt 1 discriminator 2 view .LVU524
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferSize = Size;
1755 .loc 1 1314 23 is_stmt 0 discriminator 2 view .LVU525
1756 0026 0162 str r1, [r0, #32]
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1757 .loc 1 1315 5 is_stmt 1 discriminator 2 view .LVU526
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = Size;
1758 .loc 1 1315 23 is_stmt 0 discriminator 2 view .LVU527
1759 0028 8384 strh r3, [r0, #36] @ movhi
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1760 .loc 1 1316 5 is_stmt 1 discriminator 2 view .LVU528
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1761 .loc 1 1316 24 is_stmt 0 discriminator 2 view .LVU529
1762 002a C384 strh r3, [r0, #38] @ movhi
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1763 .loc 1 1318 5 is_stmt 1 discriminator 2 view .LVU530
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 95
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_BUSY_TX;
1764 .loc 1 1318 22 is_stmt 0 discriminator 2 view .LVU531
1765 002c 0025 movs r5, #0
1766 002e C563 str r5, [r0, #60]
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1767 .loc 1 1319 5 is_stmt 1 discriminator 2 view .LVU532
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1768 .loc 1 1319 19 is_stmt 0 discriminator 2 view .LVU533
1769 0030 2122 movs r2, #33
1770 0032 80F83920 strb r2, [r0, #57]
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1771 .loc 1 1322 5 is_stmt 1 discriminator 2 view .LVU534
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1772 .loc 1 1322 10 is_stmt 0 discriminator 2 view .LVU535
1773 0036 026B ldr r2, [r0, #48]
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1774 .loc 1 1322 37 discriminator 2 view .LVU536
1775 0038 1148 ldr r0, .L125
1776 .LVL128:
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1777 .loc 1 1322 37 discriminator 2 view .LVU537
1778 003a 9062 str r0, [r2, #40]
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1779 .loc 1 1325 5 is_stmt 1 discriminator 2 view .LVU538
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1780 .loc 1 1325 10 is_stmt 0 discriminator 2 view .LVU539
1781 003c 226B ldr r2, [r4, #48]
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1782 .loc 1 1325 41 discriminator 2 view .LVU540
1783 003e 1148 ldr r0, .L125+4
1784 0040 D062 str r0, [r2, #44]
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1785 .loc 1 1328 5 is_stmt 1 discriminator 2 view .LVU541
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1786 .loc 1 1328 10 is_stmt 0 discriminator 2 view .LVU542
1787 0042 226B ldr r2, [r4, #48]
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1788 .loc 1 1328 38 discriminator 2 view .LVU543
1789 0044 1048 ldr r0, .L125+8
1790 0046 1063 str r0, [r2, #48]
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1791 .loc 1 1331 5 is_stmt 1 discriminator 2 view .LVU544
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1792 .loc 1 1331 10 is_stmt 0 discriminator 2 view .LVU545
1793 0048 226B ldr r2, [r4, #48]
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1794 .loc 1 1331 38 discriminator 2 view .LVU546
1795 004a 5563 str r5, [r2, #52]
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t *)tmp, (uint32_t)&huart->Instance->DR, Size);
1796 .loc 1 1334 5 is_stmt 1 discriminator 2 view .LVU547
1797 .LVL129:
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1798 .loc 1 1335 5 discriminator 2 view .LVU548
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1799 .loc 1 1335 71 is_stmt 0 discriminator 2 view .LVU549
1800 004c 2268 ldr r2, [r4]
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 96
1801 .loc 1 1335 5 discriminator 2 view .LVU550
1802 004e 0432 adds r2, r2, #4
1803 0050 206B ldr r0, [r4, #48]
1804 0052 FFF7FEFF bl HAL_DMA_Start_IT
1805 .LVL130:
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1806 .loc 1 1338 5 is_stmt 1 discriminator 2 view .LVU551
1807 0056 2368 ldr r3, [r4]
1808 0058 6FF04002 mvn r2, #64
1809 005c 1A60 str r2, [r3]
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1810 .loc 1 1341 5 discriminator 2 view .LVU552
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1811 .loc 1 1341 5 discriminator 2 view .LVU553
1812 005e 84F83850 strb r5, [r4, #56]
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1813 .loc 1 1345 5 discriminator 2 view .LVU554
1814 0062 2268 ldr r2, [r4]
1815 0064 5369 ldr r3, [r2, #20]
1816 0066 43F08003 orr r3, r3, #128
1817 006a 5361 str r3, [r2, #20]
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1818 .loc 1 1347 5 discriminator 2 view .LVU555
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1819 .loc 1 1347 12 is_stmt 0 discriminator 2 view .LVU556
1820 006c 2846 mov r0, r5
1821 006e 00E0 b .L119
1822 .LVL131:
1823 .L120:
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1824 .loc 1 1351 12 view .LVU557
1825 0070 0220 movs r0, #2
1826 .LVL132:
1827 .L119:
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1828 .loc 1 1353 1 view .LVU558
1829 0072 38BD pop {r3, r4, r5, pc}
1830 .LVL133:
1831 .L121:
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1832 .loc 1 1308 14 view .LVU559
1833 0074 0120 movs r0, #1
1834 .LVL134:
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1835 .loc 1 1308 14 view .LVU560
1836 0076 FCE7 b .L119
1837 .LVL135:
1838 .L122:
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1839 .loc 1 1308 14 view .LVU561
1840 0078 0120 movs r0, #1
1841 .LVL136:
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1842 .loc 1 1308 14 view .LVU562
1843 007a FAE7 b .L119
1844 .LVL137:
1845 .L123:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 97
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1846 .loc 1 1312 5 view .LVU563
1847 007c 0220 movs r0, #2
1848 .LVL138:
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1849 .loc 1 1312 5 view .LVU564
1850 007e F8E7 b .L119
1851 .L126:
1852 .align 2
1853 .L125:
1854 0080 00000000 .word UART_DMATransmitCplt
1855 0084 00000000 .word UART_DMATxHalfCplt
1856 0088 00000000 .word UART_DMAError
1857 .cfi_endproc
1858 .LFE76:
1860 .section .text.HAL_UART_Receive_DMA,"ax",%progbits
1861 .align 1
1862 .global HAL_UART_Receive_DMA
1863 .syntax unified
1864 .thumb
1865 .thumb_func
1866 .fpu softvfp
1868 HAL_UART_Receive_DMA:
1869 .LVL139:
1870 .LFB77:
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t *tmp;
1871 .loc 1 1368 1 is_stmt 1 view -0
1872 .cfi_startproc
1873 @ args = 0, pretend = 0, frame = 8
1874 @ frame_needed = 0, uses_anonymous_args = 0
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t *tmp;
1875 .loc 1 1368 1 is_stmt 0 view .LVU566
1876 0000 30B5 push {r4, r5, lr}
1877 .LCFI21:
1878 .cfi_def_cfa_offset 12
1879 .cfi_offset 4, -12
1880 .cfi_offset 5, -8
1881 .cfi_offset 14, -4
1882 0002 83B0 sub sp, sp, #12
1883 .LCFI22:
1884 .cfi_def_cfa_offset 24
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1885 .loc 1 1369 3 is_stmt 1 view .LVU567
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1886 .loc 1 1372 3 view .LVU568
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1887 .loc 1 1372 12 is_stmt 0 view .LVU569
1888 0004 90F83A50 ldrb r5, [r0, #58] @ zero_extendqisi2
1889 0008 EDB2 uxtb r5, r5
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1890 .loc 1 1372 6 view .LVU570
1891 000a 202D cmp r5, #32
1892 000c 3DD1 bne .L129
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1893 .loc 1 1374 5 is_stmt 1 view .LVU571
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1894 .loc 1 1374 8 is_stmt 0 view .LVU572
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 98
1895 000e 0029 cmp r1, #0
1896 0010 3ED0 beq .L130
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
1897 .loc 1 1374 25 discriminator 1 view .LVU573
1898 0012 002A cmp r2, #0
1899 0014 3ED0 beq .L131
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1900 .loc 1 1380 5 is_stmt 1 view .LVU574
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1901 .loc 1 1380 5 view .LVU575
1902 0016 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
1903 001a 012B cmp r3, #1
1904 001c 3CD0 beq .L132
1905 001e 1346 mov r3, r2
1906 0020 0A46 mov r2, r1
1907 .LVL140:
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1908 .loc 1 1380 5 is_stmt 0 view .LVU576
1909 0022 0446 mov r4, r0
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1910 .loc 1 1380 5 is_stmt 1 discriminator 2 view .LVU577
1911 0024 0121 movs r1, #1
1912 .LVL141:
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1913 .loc 1 1380 5 is_stmt 0 discriminator 2 view .LVU578
1914 0026 80F83810 strb r1, [r0, #56]
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferSize = Size;
1915 .loc 1 1382 5 is_stmt 1 discriminator 2 view .LVU579
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferSize = Size;
1916 .loc 1 1382 23 is_stmt 0 discriminator 2 view .LVU580
1917 002a 8262 str r2, [r0, #40]
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1918 .loc 1 1383 5 is_stmt 1 discriminator 2 view .LVU581
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1919 .loc 1 1383 23 is_stmt 0 discriminator 2 view .LVU582
1920 002c 8385 strh r3, [r0, #44] @ movhi
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1921 .loc 1 1385 5 is_stmt 1 discriminator 2 view .LVU583
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_BUSY_RX;
1922 .loc 1 1385 22 is_stmt 0 discriminator 2 view .LVU584
1923 002e 0025 movs r5, #0
1924 0030 C563 str r5, [r0, #60]
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1925 .loc 1 1386 5 is_stmt 1 discriminator 2 view .LVU585
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1926 .loc 1 1386 20 is_stmt 0 discriminator 2 view .LVU586
1927 0032 2221 movs r1, #34
1928 0034 80F83A10 strb r1, [r0, #58]
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1929 .loc 1 1389 5 is_stmt 1 discriminator 2 view .LVU587
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1930 .loc 1 1389 10 is_stmt 0 discriminator 2 view .LVU588
1931 0038 416B ldr r1, [r0, #52]
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1932 .loc 1 1389 37 discriminator 2 view .LVU589
1933 003a 1848 ldr r0, .L134
1934 .LVL142:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 99
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1935 .loc 1 1389 37 discriminator 2 view .LVU590
1936 003c 8862 str r0, [r1, #40]
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1937 .loc 1 1392 5 is_stmt 1 discriminator 2 view .LVU591
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1938 .loc 1 1392 10 is_stmt 0 discriminator 2 view .LVU592
1939 003e 616B ldr r1, [r4, #52]
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1940 .loc 1 1392 41 discriminator 2 view .LVU593
1941 0040 1748 ldr r0, .L134+4
1942 0042 C862 str r0, [r1, #44]
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1943 .loc 1 1395 5 is_stmt 1 discriminator 2 view .LVU594
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1944 .loc 1 1395 10 is_stmt 0 discriminator 2 view .LVU595
1945 0044 616B ldr r1, [r4, #52]
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1946 .loc 1 1395 38 discriminator 2 view .LVU596
1947 0046 1748 ldr r0, .L134+8
1948 0048 0863 str r0, [r1, #48]
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1949 .loc 1 1398 5 is_stmt 1 discriminator 2 view .LVU597
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1950 .loc 1 1398 10 is_stmt 0 discriminator 2 view .LVU598
1951 004a 616B ldr r1, [r4, #52]
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1952 .loc 1 1398 38 discriminator 2 view .LVU599
1953 004c 4D63 str r5, [r1, #52]
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->DR, *(uint32_t *)tmp, Size);
1954 .loc 1 1401 5 is_stmt 1 discriminator 2 view .LVU600
1955 .LVL143:
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1956 .loc 1 1402 5 discriminator 2 view .LVU601
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1957 .loc 1 1402 53 is_stmt 0 discriminator 2 view .LVU602
1958 004e 2168 ldr r1, [r4]
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1959 .loc 1 1402 5 discriminator 2 view .LVU603
1960 0050 0431 adds r1, r1, #4
1961 0052 606B ldr r0, [r4, #52]
1962 0054 FFF7FEFF bl HAL_DMA_Start_IT
1963 .LVL144:
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1964 .loc 1 1405 5 is_stmt 1 discriminator 2 view .LVU604
1965 .LBB2:
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1966 .loc 1 1405 5 discriminator 2 view .LVU605
1967 0058 0195 str r5, [sp, #4]
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1968 .loc 1 1405 5 discriminator 2 view .LVU606
1969 005a 2368 ldr r3, [r4]
1970 005c 1A68 ldr r2, [r3]
1971 005e 0192 str r2, [sp, #4]
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1972 .loc 1 1405 5 discriminator 2 view .LVU607
1973 0060 5A68 ldr r2, [r3, #4]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 100
1974 0062 0192 str r2, [sp, #4]
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1975 .loc 1 1405 5 discriminator 2 view .LVU608
1976 0064 019A ldr r2, [sp, #4]
1977 .LBE2:
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1978 .loc 1 1408 5 discriminator 2 view .LVU609
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1979 .loc 1 1408 5 discriminator 2 view .LVU610
1980 0066 84F83850 strb r5, [r4, #56]
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1981 .loc 1 1411 5 discriminator 2 view .LVU611
1982 006a DA68 ldr r2, [r3, #12]
1983 006c 42F48072 orr r2, r2, #256
1984 0070 DA60 str r2, [r3, #12]
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1985 .loc 1 1414 5 discriminator 2 view .LVU612
1986 0072 2268 ldr r2, [r4]
1987 0074 5369 ldr r3, [r2, #20]
1988 0076 43F00103 orr r3, r3, #1
1989 007a 5361 str r3, [r2, #20]
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
1990 .loc 1 1418 5 discriminator 2 view .LVU613
1991 007c 2268 ldr r2, [r4]
1992 007e 5369 ldr r3, [r2, #20]
1993 0080 43F04003 orr r3, r3, #64
1994 0084 5361 str r3, [r2, #20]
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1995 .loc 1 1420 5 discriminator 2 view .LVU614
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
1996 .loc 1 1420 12 is_stmt 0 discriminator 2 view .LVU615
1997 0086 2846 mov r0, r5
1998 0088 00E0 b .L128
1999 .LVL145:
2000 .L129:
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2001 .loc 1 1424 12 view .LVU616
2002 008a 0220 movs r0, #2
2003 .LVL146:
2004 .L128:
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2005 .loc 1 1426 1 view .LVU617
2006 008c 03B0 add sp, sp, #12
2007 .LCFI23:
2008 .cfi_remember_state
2009 .cfi_def_cfa_offset 12
2010 @ sp needed
2011 008e 30BD pop {r4, r5, pc}
2012 .LVL147:
2013 .L130:
2014 .LCFI24:
2015 .cfi_restore_state
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2016 .loc 1 1376 14 view .LVU618
2017 0090 0120 movs r0, #1
2018 .LVL148:
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 101
2019 .loc 1 1376 14 view .LVU619
2020 0092 FBE7 b .L128
2021 .LVL149:
2022 .L131:
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2023 .loc 1 1376 14 view .LVU620
2024 0094 0120 movs r0, #1
2025 .LVL150:
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2026 .loc 1 1376 14 view .LVU621
2027 0096 F9E7 b .L128
2028 .LVL151:
2029 .L132:
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2030 .loc 1 1380 5 view .LVU622
2031 0098 0220 movs r0, #2
2032 .LVL152:
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2033 .loc 1 1380 5 view .LVU623
2034 009a F7E7 b .L128
2035 .L135:
2036 .align 2
2037 .L134:
2038 009c 00000000 .word UART_DMAReceiveCplt
2039 00a0 00000000 .word UART_DMARxHalfCplt
2040 00a4 00000000 .word UART_DMAError
2041 .cfi_endproc
2042 .LFE77:
2044 .section .text.HAL_UART_DMAPause,"ax",%progbits
2045 .align 1
2046 .global HAL_UART_DMAPause
2047 .syntax unified
2048 .thumb
2049 .thumb_func
2050 .fpu softvfp
2052 HAL_UART_DMAPause:
2053 .LVL153:
2054 .LFB78:
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2055 .loc 1 1435 1 is_stmt 1 view -0
2056 .cfi_startproc
2057 @ args = 0, pretend = 0, frame = 0
2058 @ frame_needed = 0, uses_anonymous_args = 0
2059 @ link register save eliminated.
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2060 .loc 1 1436 3 view .LVU625
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2061 .loc 1 1439 3 view .LVU626
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2062 .loc 1 1439 3 view .LVU627
2063 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
2064 0004 012B cmp r3, #1
2065 0006 31D0 beq .L140
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2066 .loc 1 1439 3 discriminator 2 view .LVU628
2067 0008 0123 movs r3, #1
2068 000a 80F83830 strb r3, [r0, #56]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 102
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2069 .loc 1 1441 3 discriminator 2 view .LVU629
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2070 .loc 1 1441 16 is_stmt 0 discriminator 2 view .LVU630
2071 000e 0168 ldr r1, [r0]
2072 0010 4A69 ldr r2, [r1, #20]
2073 0012 02F08002 and r2, r2, #128
2074 .LVL154:
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2075 .loc 1 1442 3 is_stmt 1 discriminator 2 view .LVU631
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2076 .loc 1 1442 13 is_stmt 0 discriminator 2 view .LVU632
2077 0016 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2078 001a DBB2 uxtb r3, r3
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2079 .loc 1 1442 6 discriminator 2 view .LVU633
2080 001c 212B cmp r3, #33
2081 001e 0DD0 beq .L141
2082 .L138:
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2083 .loc 1 1448 3 is_stmt 1 view .LVU634
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2084 .loc 1 1448 16 is_stmt 0 view .LVU635
2085 0020 0168 ldr r1, [r0]
2086 0022 4A69 ldr r2, [r1, #20]
2087 .LVL155:
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2088 .loc 1 1448 16 view .LVU636
2089 0024 02F04002 and r2, r2, #64
2090 .LVL156:
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2091 .loc 1 1449 3 is_stmt 1 view .LVU637
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2092 .loc 1 1449 13 is_stmt 0 view .LVU638
2093 0028 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
2094 002c DBB2 uxtb r3, r3
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2095 .loc 1 1449 6 view .LVU639
2096 002e 222B cmp r3, #34
2097 0030 0BD0 beq .L142
2098 .LVL157:
2099 .L139:
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2100 .loc 1 1460 3 is_stmt 1 view .LVU640
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2101 .loc 1 1460 3 view .LVU641
2102 0032 0023 movs r3, #0
2103 0034 80F83830 strb r3, [r0, #56]
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2104 .loc 1 1462 3 view .LVU642
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2105 .loc 1 1462 10 is_stmt 0 view .LVU643
2106 0038 1846 mov r0, r3
2107 .LVL158:
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2108 .loc 1 1462 10 view .LVU644
2109 003a 7047 bx lr
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 103
2110 .LVL159:
2111 .L141:
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2112 .loc 1 1442 49 discriminator 1 view .LVU645
2113 003c 002A cmp r2, #0
2114 003e EFD0 beq .L138
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2115 .loc 1 1445 5 is_stmt 1 view .LVU646
2116 0040 4B69 ldr r3, [r1, #20]
2117 0042 23F08003 bic r3, r3, #128
2118 0046 4B61 str r3, [r1, #20]
2119 0048 EAE7 b .L138
2120 .L142:
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2121 .loc 1 1449 50 is_stmt 0 discriminator 1 view .LVU647
2122 004a 002A cmp r2, #0
2123 004c F1D0 beq .L139
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2124 .loc 1 1452 5 is_stmt 1 view .LVU648
2125 004e CB68 ldr r3, [r1, #12]
2126 0050 23F48073 bic r3, r3, #256
2127 0054 CB60 str r3, [r1, #12]
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2128 .loc 1 1453 5 view .LVU649
2129 0056 0268 ldr r2, [r0]
2130 .LVL160:
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2131 .loc 1 1453 5 is_stmt 0 view .LVU650
2132 0058 5369 ldr r3, [r2, #20]
2133 005a 23F00103 bic r3, r3, #1
2134 005e 5361 str r3, [r2, #20]
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2135 .loc 1 1456 5 is_stmt 1 view .LVU651
2136 0060 0268 ldr r2, [r0]
2137 0062 5369 ldr r3, [r2, #20]
2138 0064 23F04003 bic r3, r3, #64
2139 0068 5361 str r3, [r2, #20]
2140 006a E2E7 b .L139
2141 .LVL161:
2142 .L140:
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2143 .loc 1 1439 3 is_stmt 0 view .LVU652
2144 006c 0220 movs r0, #2
2145 .LVL162:
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2146 .loc 1 1463 1 view .LVU653
2147 006e 7047 bx lr
2148 .cfi_endproc
2149 .LFE78:
2151 .section .text.HAL_UART_DMAResume,"ax",%progbits
2152 .align 1
2153 .global HAL_UART_DMAResume
2154 .syntax unified
2155 .thumb
2156 .thumb_func
2157 .fpu softvfp
2159 HAL_UART_DMAResume:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 104
2160 .LVL163:
2161 .LFB79:
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
2162 .loc 1 1472 1 is_stmt 1 view -0
2163 .cfi_startproc
2164 @ args = 0, pretend = 0, frame = 8
2165 @ frame_needed = 0, uses_anonymous_args = 0
2166 @ link register save eliminated.
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2167 .loc 1 1474 3 view .LVU655
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2168 .loc 1 1474 3 view .LVU656
2169 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
2170 0004 012B cmp r3, #1
2171 0006 34D0 beq .L147
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2172 .loc 1 1474 3 discriminator 2 view .LVU657
2173 0008 0123 movs r3, #1
2174 000a 80F83830 strb r3, [r0, #56]
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2175 .loc 1 1476 3 discriminator 2 view .LVU658
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2176 .loc 1 1476 12 is_stmt 0 discriminator 2 view .LVU659
2177 000e 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2178 0012 DBB2 uxtb r3, r3
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2179 .loc 1 1476 6 discriminator 2 view .LVU660
2180 0014 212B cmp r3, #33
2181 0016 09D0 beq .L153
2182 .L145:
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2183 .loc 1 1482 3 is_stmt 1 view .LVU661
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2184 .loc 1 1482 12 is_stmt 0 view .LVU662
2185 0018 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
2186 001c DBB2 uxtb r3, r3
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2187 .loc 1 1482 6 view .LVU663
2188 001e 222B cmp r3, #34
2189 0020 0AD0 beq .L154
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2190 .loc 1 1496 3 is_stmt 1 view .LVU664
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2191 .loc 1 1496 3 view .LVU665
2192 0022 0023 movs r3, #0
2193 0024 80F83830 strb r3, [r0, #56]
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2194 .loc 1 1498 3 view .LVU666
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2195 .loc 1 1498 10 is_stmt 0 view .LVU667
2196 0028 1846 mov r0, r3
2197 .LVL164:
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2198 .loc 1 1499 1 view .LVU668
2199 002a 7047 bx lr
2200 .LVL165:
2201 .L153:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 105
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2202 .loc 1 1479 5 is_stmt 1 view .LVU669
2203 002c 0268 ldr r2, [r0]
2204 002e 5369 ldr r3, [r2, #20]
2205 0030 43F08003 orr r3, r3, #128
2206 0034 5361 str r3, [r2, #20]
2207 0036 EFE7 b .L145
2208 .L154:
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Process Locked */
2209 .loc 1 1472 1 is_stmt 0 view .LVU670
2210 0038 82B0 sub sp, sp, #8
2211 .LCFI25:
2212 .cfi_def_cfa_offset 8
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2213 .loc 1 1485 5 is_stmt 1 view .LVU671
2214 .LBB3:
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2215 .loc 1 1485 5 view .LVU672
2216 003a 0023 movs r3, #0
2217 003c 0193 str r3, [sp, #4]
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2218 .loc 1 1485 5 view .LVU673
2219 003e 0368 ldr r3, [r0]
2220 0040 1A68 ldr r2, [r3]
2221 0042 0192 str r2, [sp, #4]
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2222 .loc 1 1485 5 view .LVU674
2223 0044 5A68 ldr r2, [r3, #4]
2224 0046 0192 str r2, [sp, #4]
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2225 .loc 1 1485 5 view .LVU675
2226 0048 019A ldr r2, [sp, #4]
2227 .LBE3:
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
2228 .loc 1 1488 5 view .LVU676
2229 004a DA68 ldr r2, [r3, #12]
2230 004c 42F48072 orr r2, r2, #256
2231 0050 DA60 str r2, [r3, #12]
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2232 .loc 1 1489 5 view .LVU677
2233 0052 0268 ldr r2, [r0]
2234 0054 5369 ldr r3, [r2, #20]
2235 0056 43F00103 orr r3, r3, #1
2236 005a 5361 str r3, [r2, #20]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2237 .loc 1 1492 5 view .LVU678
2238 005c 0268 ldr r2, [r0]
2239 005e 5369 ldr r3, [r2, #20]
2240 0060 43F04003 orr r3, r3, #64
2241 0064 5361 str r3, [r2, #20]
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2242 .loc 1 1496 3 view .LVU679
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2243 .loc 1 1496 3 view .LVU680
2244 0066 0023 movs r3, #0
2245 0068 80F83830 strb r3, [r0, #56]
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 106
2246 .loc 1 1498 3 view .LVU681
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2247 .loc 1 1498 10 is_stmt 0 view .LVU682
2248 006c 1846 mov r0, r3
2249 .LVL166:
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2250 .loc 1 1499 1 view .LVU683
2251 006e 02B0 add sp, sp, #8
2252 .LCFI26:
2253 .cfi_def_cfa_offset 0
2254 @ sp needed
2255 0070 7047 bx lr
2256 .LVL167:
2257 .L147:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2258 .loc 1 1474 3 view .LVU684
2259 0072 0220 movs r0, #2
2260 .LVL168:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2261 .loc 1 1474 3 view .LVU685
2262 0074 7047 bx lr
2263 .cfi_endproc
2264 .LFE79:
2266 .section .text.HAL_UART_DMAStop,"ax",%progbits
2267 .align 1
2268 .global HAL_UART_DMAStop
2269 .syntax unified
2270 .thumb
2271 .thumb_func
2272 .fpu softvfp
2274 HAL_UART_DMAStop:
2275 .LVL169:
2276 .LFB80:
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2277 .loc 1 1508 1 is_stmt 1 view -0
2278 .cfi_startproc
2279 @ args = 0, pretend = 0, frame = 0
2280 @ frame_needed = 0, uses_anonymous_args = 0
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
2281 .loc 1 1508 1 is_stmt 0 view .LVU687
2282 0000 10B5 push {r4, lr}
2283 .LCFI27:
2284 .cfi_def_cfa_offset 8
2285 .cfi_offset 4, -8
2286 .cfi_offset 14, -4
2287 0002 0446 mov r4, r0
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* The Lock is not implemented on this API to allow the user application
2288 .loc 1 1509 3 is_stmt 1 view .LVU688
2289 .LVL170:
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2290 .loc 1 1517 3 view .LVU689
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
2291 .loc 1 1517 16 is_stmt 0 view .LVU690
2292 0004 0168 ldr r1, [r0]
2293 0006 4A69 ldr r2, [r1, #20]
2294 .LVL171:
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 107
2295 .loc 1 1518 3 is_stmt 1 view .LVU691
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2296 .loc 1 1518 13 is_stmt 0 view .LVU692
2297 0008 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
2298 000c DBB2 uxtb r3, r3
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2299 .loc 1 1518 6 view .LVU693
2300 000e 212B cmp r3, #33
2301 0010 0AD0 beq .L161
2302 .LVL172:
2303 .L156:
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2304 .loc 1 1531 3 is_stmt 1 view .LVU694
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
2305 .loc 1 1531 16 is_stmt 0 view .LVU695
2306 0012 2168 ldr r1, [r4]
2307 0014 4A69 ldr r2, [r1, #20]
2308 0016 02F04002 and r2, r2, #64
2309 .LVL173:
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2310 .loc 1 1532 3 is_stmt 1 view .LVU696
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2311 .loc 1 1532 13 is_stmt 0 view .LVU697
2312 001a 94F83A30 ldrb r3, [r4, #58] @ zero_extendqisi2
2313 001e DBB2 uxtb r3, r3
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2314 .loc 1 1532 6 view .LVU698
2315 0020 222B cmp r3, #34
2316 0022 11D0 beq .L162
2317 .LVL174:
2318 .L158:
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2319 .loc 1 1544 3 is_stmt 1 view .LVU699
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2320 .loc 1 1545 1 is_stmt 0 view .LVU700
2321 0024 0020 movs r0, #0
2322 0026 10BD pop {r4, pc}
2323 .LVL175:
2324 .L161:
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2325 .loc 1 1545 1 view .LVU701
2326 0028 02F08002 and r2, r2, #128
2327 .LVL176:
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2328 .loc 1 1518 49 discriminator 1 view .LVU702
2329 002c 002A cmp r2, #0
2330 002e F0D0 beq .L156
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2331 .loc 1 1520 5 is_stmt 1 view .LVU703
2332 0030 4B69 ldr r3, [r1, #20]
2333 0032 23F08003 bic r3, r3, #128
2334 0036 4B61 str r3, [r1, #20]
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2335 .loc 1 1523 5 view .LVU704
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2336 .loc 1 1523 14 is_stmt 0 view .LVU705
2337 0038 006B ldr r0, [r0, #48]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 108
2338 .LVL177:
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2339 .loc 1 1523 8 view .LVU706
2340 003a 08B1 cbz r0, .L157
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2341 .loc 1 1525 7 is_stmt 1 view .LVU707
2342 003c FFF7FEFF bl HAL_DMA_Abort
2343 .LVL178:
2344 .L157:
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2345 .loc 1 1527 5 view .LVU708
2346 0040 2046 mov r0, r4
2347 0042 FFF7FEFF bl UART_EndTxTransfer
2348 .LVL179:
2349 0046 E4E7 b .L156
2350 .LVL180:
2351 .L162:
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2352 .loc 1 1532 50 is_stmt 0 discriminator 1 view .LVU709
2353 0048 002A cmp r2, #0
2354 004a EBD0 beq .L158
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2355 .loc 1 1534 5 is_stmt 1 view .LVU710
2356 004c 4B69 ldr r3, [r1, #20]
2357 004e 23F04003 bic r3, r3, #64
2358 0052 4B61 str r3, [r1, #20]
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2359 .loc 1 1537 5 view .LVU711
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2360 .loc 1 1537 14 is_stmt 0 view .LVU712
2361 0054 606B ldr r0, [r4, #52]
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2362 .loc 1 1537 8 view .LVU713
2363 0056 08B1 cbz r0, .L159
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2364 .loc 1 1539 7 is_stmt 1 view .LVU714
2365 0058 FFF7FEFF bl HAL_DMA_Abort
2366 .LVL181:
2367 .L159:
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2368 .loc 1 1541 5 view .LVU715
2369 005c 2046 mov r0, r4
2370 005e FFF7FEFF bl UART_EndRxTransfer
2371 .LVL182:
2372 0062 DFE7 b .L158
2373 .cfi_endproc
2374 .LFE80:
2376 .section .text.HAL_UART_Abort,"ax",%progbits
2377 .align 1
2378 .global HAL_UART_Abort
2379 .syntax unified
2380 .thumb
2381 .thumb_func
2382 .fpu softvfp
2384 HAL_UART_Abort:
2385 .LVL183:
2386 .LFB81:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 109
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2387 .loc 1 1560 1 view -0
2388 .cfi_startproc
2389 @ args = 0, pretend = 0, frame = 0
2390 @ frame_needed = 0, uses_anonymous_args = 0
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE, TCIE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2391 .loc 1 1560 1 is_stmt 0 view .LVU717
2392 0000 10B5 push {r4, lr}
2393 .LCFI28:
2394 .cfi_def_cfa_offset 8
2395 .cfi_offset 4, -8
2396 .cfi_offset 14, -4
2397 0002 0446 mov r4, r0
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2398 .loc 1 1562 3 is_stmt 1 view .LVU718
2399 0004 0268 ldr r2, [r0]
2400 0006 D368 ldr r3, [r2, #12]
2401 0008 23F4F073 bic r3, r3, #480
2402 000c D360 str r3, [r2, #12]
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2403 .loc 1 1563 3 view .LVU719
2404 000e 0268 ldr r2, [r0]
2405 0010 5369 ldr r3, [r2, #20]
2406 0012 23F00103 bic r3, r3, #1
2407 0016 5361 str r3, [r2, #20]
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2408 .loc 1 1566 3 view .LVU720
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2409 .loc 1 1566 7 is_stmt 0 view .LVU721
2410 0018 0368 ldr r3, [r0]
2411 001a 5A69 ldr r2, [r3, #20]
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2412 .loc 1 1566 6 view .LVU722
2413 001c 12F0800F tst r2, #128
2414 0020 0BD0 beq .L164
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2415 .loc 1 1568 5 is_stmt 1 view .LVU723
2416 0022 5A69 ldr r2, [r3, #20]
2417 0024 22F08002 bic r2, r2, #128
2418 0028 5A61 str r2, [r3, #20]
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2419 .loc 1 1571 5 view .LVU724
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2420 .loc 1 1571 14 is_stmt 0 view .LVU725
2421 002a 036B ldr r3, [r0, #48]
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2422 .loc 1 1571 8 view .LVU726
2423 002c 2BB1 cbz r3, .L164
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2424 .loc 1 1575 7 is_stmt 1 view .LVU727
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2425 .loc 1 1575 40 is_stmt 0 view .LVU728
2426 002e 0022 movs r2, #0
2427 0030 5A63 str r2, [r3, #52]
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2428 .loc 1 1577 7 is_stmt 1 view .LVU729
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 110
2429 .loc 1 1577 11 is_stmt 0 view .LVU730
2430 0032 006B ldr r0, [r0, #48]
2431 .LVL184:
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2432 .loc 1 1577 11 view .LVU731
2433 0034 FFF7FEFF bl HAL_DMA_Abort
2434 .LVL185:
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2435 .loc 1 1577 10 view .LVU732
2436 0038 D0B9 cbnz r0, .L168
2437 .L164:
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2438 .loc 1 1591 3 is_stmt 1 view .LVU733
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2439 .loc 1 1591 7 is_stmt 0 view .LVU734
2440 003a 2368 ldr r3, [r4]
2441 003c 5A69 ldr r2, [r3, #20]
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2442 .loc 1 1591 6 view .LVU735
2443 003e 12F0400F tst r2, #64
2444 0042 0BD0 beq .L166
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2445 .loc 1 1593 5 is_stmt 1 view .LVU736
2446 0044 5A69 ldr r2, [r3, #20]
2447 0046 22F04002 bic r2, r2, #64
2448 004a 5A61 str r2, [r3, #20]
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2449 .loc 1 1596 5 view .LVU737
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2450 .loc 1 1596 14 is_stmt 0 view .LVU738
2451 004c 636B ldr r3, [r4, #52]
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2452 .loc 1 1596 8 view .LVU739
2453 004e 2BB1 cbz r3, .L166
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2454 .loc 1 1600 7 is_stmt 1 view .LVU740
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2455 .loc 1 1600 40 is_stmt 0 view .LVU741
2456 0050 0022 movs r2, #0
2457 0052 5A63 str r2, [r3, #52]
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2458 .loc 1 1602 7 is_stmt 1 view .LVU742
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2459 .loc 1 1602 11 is_stmt 0 view .LVU743
2460 0054 606B ldr r0, [r4, #52]
2461 0056 FFF7FEFF bl HAL_DMA_Abort
2462 .LVL186:
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2463 .loc 1 1602 10 view .LVU744
2464 005a 90B9 cbnz r0, .L169
2465 .L166:
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2466 .loc 1 1616 3 is_stmt 1 view .LVU745
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
2467 .loc 1 1616 22 is_stmt 0 view .LVU746
2468 005c 0020 movs r0, #0
2469 005e E084 strh r0, [r4, #38] @ movhi
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 111
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2470 .loc 1 1617 3 is_stmt 1 view .LVU747
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2471 .loc 1 1617 22 is_stmt 0 view .LVU748
2472 0060 E085 strh r0, [r4, #46] @ movhi
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2473 .loc 1 1620 3 is_stmt 1 view .LVU749
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2474 .loc 1 1620 20 is_stmt 0 view .LVU750
2475 0062 E063 str r0, [r4, #60]
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2476 .loc 1 1623 3 is_stmt 1 view .LVU751
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->gState = HAL_UART_STATE_READY;
2477 .loc 1 1623 18 is_stmt 0 view .LVU752
2478 0064 2023 movs r3, #32
2479 0066 84F83A30 strb r3, [r4, #58]
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2480 .loc 1 1624 3 is_stmt 1 view .LVU753
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2481 .loc 1 1624 17 is_stmt 0 view .LVU754
2482 006a 84F83930 strb r3, [r4, #57]
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2483 .loc 1 1626 3 is_stmt 1 view .LVU755
2484 .L165:
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2485 .loc 1 1627 1 is_stmt 0 view .LVU756
2486 006e 10BD pop {r4, pc}
2487 .LVL187:
2488 .L168:
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2489 .loc 1 1579 9 is_stmt 1 view .LVU757
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2490 .loc 1 1579 13 is_stmt 0 view .LVU758
2491 0070 206B ldr r0, [r4, #48]
2492 0072 FFF7FEFF bl HAL_DMA_GetError
2493 .LVL188:
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2494 .loc 1 1579 12 view .LVU759
2495 0076 2028 cmp r0, #32
2496 0078 DFD1 bne .L164
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2497 .loc 1 1582 11 is_stmt 1 view .LVU760
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2498 .loc 1 1582 28 is_stmt 0 view .LVU761
2499 007a 1023 movs r3, #16
2500 007c E363 str r3, [r4, #60]
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2501 .loc 1 1584 11 is_stmt 1 view .LVU762
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2502 .loc 1 1584 18 is_stmt 0 view .LVU763
2503 007e 0320 movs r0, #3
2504 0080 F5E7 b .L165
2505 .L169:
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2506 .loc 1 1604 9 is_stmt 1 view .LVU764
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2507 .loc 1 1604 13 is_stmt 0 view .LVU765
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 112
2508 0082 606B ldr r0, [r4, #52]
2509 0084 FFF7FEFF bl HAL_DMA_GetError
2510 .LVL189:
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2511 .loc 1 1604 12 view .LVU766
2512 0088 2028 cmp r0, #32
2513 008a E7D1 bne .L166
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2514 .loc 1 1607 11 is_stmt 1 view .LVU767
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2515 .loc 1 1607 28 is_stmt 0 view .LVU768
2516 008c 1023 movs r3, #16
2517 008e E363 str r3, [r4, #60]
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2518 .loc 1 1609 11 is_stmt 1 view .LVU769
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2519 .loc 1 1609 18 is_stmt 0 view .LVU770
2520 0090 0320 movs r0, #3
2521 0092 ECE7 b .L165
2522 .cfi_endproc
2523 .LFE81:
2525 .section .text.HAL_UART_AbortTransmit,"ax",%progbits
2526 .align 1
2527 .global HAL_UART_AbortTransmit
2528 .syntax unified
2529 .thumb
2530 .thumb_func
2531 .fpu softvfp
2533 HAL_UART_AbortTransmit:
2534 .LVL190:
2535 .LFB82:
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2536 .loc 1 1642 1 is_stmt 1 view -0
2537 .cfi_startproc
2538 @ args = 0, pretend = 0, frame = 0
2539 @ frame_needed = 0, uses_anonymous_args = 0
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
2540 .loc 1 1642 1 is_stmt 0 view .LVU772
2541 0000 10B5 push {r4, lr}
2542 .LCFI29:
2543 .cfi_def_cfa_offset 8
2544 .cfi_offset 4, -8
2545 .cfi_offset 14, -4
2546 0002 0446 mov r4, r0
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2547 .loc 1 1644 3 is_stmt 1 view .LVU773
2548 0004 0268 ldr r2, [r0]
2549 0006 D368 ldr r3, [r2, #12]
2550 0008 23F0C003 bic r3, r3, #192
2551 000c D360 str r3, [r2, #12]
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2552 .loc 1 1647 3 view .LVU774
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2553 .loc 1 1647 7 is_stmt 0 view .LVU775
2554 000e 0368 ldr r3, [r0]
2555 0010 5A69 ldr r2, [r3, #20]
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 113
2556 .loc 1 1647 6 view .LVU776
2557 0012 12F0800F tst r2, #128
2558 0016 0BD0 beq .L171
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2559 .loc 1 1649 5 is_stmt 1 view .LVU777
2560 0018 5A69 ldr r2, [r3, #20]
2561 001a 22F08002 bic r2, r2, #128
2562 001e 5A61 str r2, [r3, #20]
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2563 .loc 1 1652 5 view .LVU778
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2564 .loc 1 1652 14 is_stmt 0 view .LVU779
2565 0020 036B ldr r3, [r0, #48]
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2566 .loc 1 1652 8 view .LVU780
2567 0022 2BB1 cbz r3, .L171
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2568 .loc 1 1656 7 is_stmt 1 view .LVU781
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2569 .loc 1 1656 40 is_stmt 0 view .LVU782
2570 0024 0022 movs r2, #0
2571 0026 5A63 str r2, [r3, #52]
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2572 .loc 1 1658 7 is_stmt 1 view .LVU783
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2573 .loc 1 1658 11 is_stmt 0 view .LVU784
2574 0028 006B ldr r0, [r0, #48]
2575 .LVL191:
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2576 .loc 1 1658 11 view .LVU785
2577 002a FFF7FEFF bl HAL_DMA_Abort
2578 .LVL192:
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2579 .loc 1 1658 10 view .LVU786
2580 002e 28B9 cbnz r0, .L174
2581 .L171:
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2582 .loc 1 1672 3 is_stmt 1 view .LVU787
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2583 .loc 1 1672 22 is_stmt 0 view .LVU788
2584 0030 0020 movs r0, #0
2585 0032 E084 strh r0, [r4, #38] @ movhi
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2586 .loc 1 1675 3 is_stmt 1 view .LVU789
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2587 .loc 1 1675 17 is_stmt 0 view .LVU790
2588 0034 2023 movs r3, #32
2589 0036 84F83930 strb r3, [r4, #57]
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2590 .loc 1 1677 3 is_stmt 1 view .LVU791
2591 .L172:
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2592 .loc 1 1678 1 is_stmt 0 view .LVU792
2593 003a 10BD pop {r4, pc}
2594 .LVL193:
2595 .L174:
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 114
2596 .loc 1 1660 9 is_stmt 1 view .LVU793
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2597 .loc 1 1660 13 is_stmt 0 view .LVU794
2598 003c 206B ldr r0, [r4, #48]
2599 003e FFF7FEFF bl HAL_DMA_GetError
2600 .LVL194:
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2601 .loc 1 1660 12 view .LVU795
2602 0042 2028 cmp r0, #32
2603 0044 F4D1 bne .L171
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2604 .loc 1 1663 11 is_stmt 1 view .LVU796
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2605 .loc 1 1663 28 is_stmt 0 view .LVU797
2606 0046 1023 movs r3, #16
2607 0048 E363 str r3, [r4, #60]
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2608 .loc 1 1665 11 is_stmt 1 view .LVU798
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2609 .loc 1 1665 18 is_stmt 0 view .LVU799
2610 004a 0320 movs r0, #3
2611 004c F5E7 b .L172
2612 .cfi_endproc
2613 .LFE82:
2615 .section .text.HAL_UART_AbortReceive,"ax",%progbits
2616 .align 1
2617 .global HAL_UART_AbortReceive
2618 .syntax unified
2619 .thumb
2620 .thumb_func
2621 .fpu softvfp
2623 HAL_UART_AbortReceive:
2624 .LVL195:
2625 .LFB83:
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2626 .loc 1 1693 1 is_stmt 1 view -0
2627 .cfi_startproc
2628 @ args = 0, pretend = 0, frame = 0
2629 @ frame_needed = 0, uses_anonymous_args = 0
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
2630 .loc 1 1693 1 is_stmt 0 view .LVU801
2631 0000 10B5 push {r4, lr}
2632 .LCFI30:
2633 .cfi_def_cfa_offset 8
2634 .cfi_offset 4, -8
2635 .cfi_offset 14, -4
2636 0002 0446 mov r4, r0
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2637 .loc 1 1695 3 is_stmt 1 view .LVU802
2638 0004 0268 ldr r2, [r0]
2639 0006 D368 ldr r3, [r2, #12]
2640 0008 23F49073 bic r3, r3, #288
2641 000c D360 str r3, [r2, #12]
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2642 .loc 1 1696 3 view .LVU803
2643 000e 0268 ldr r2, [r0]
2644 0010 5369 ldr r3, [r2, #20]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 115
2645 0012 23F00103 bic r3, r3, #1
2646 0016 5361 str r3, [r2, #20]
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2647 .loc 1 1699 3 view .LVU804
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2648 .loc 1 1699 7 is_stmt 0 view .LVU805
2649 0018 0368 ldr r3, [r0]
2650 001a 5A69 ldr r2, [r3, #20]
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2651 .loc 1 1699 6 view .LVU806
2652 001c 12F0400F tst r2, #64
2653 0020 0BD0 beq .L176
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2654 .loc 1 1701 5 is_stmt 1 view .LVU807
2655 0022 5A69 ldr r2, [r3, #20]
2656 0024 22F04002 bic r2, r2, #64
2657 0028 5A61 str r2, [r3, #20]
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2658 .loc 1 1704 5 view .LVU808
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2659 .loc 1 1704 14 is_stmt 0 view .LVU809
2660 002a 436B ldr r3, [r0, #52]
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2661 .loc 1 1704 8 view .LVU810
2662 002c 2BB1 cbz r3, .L176
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2663 .loc 1 1708 7 is_stmt 1 view .LVU811
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2664 .loc 1 1708 40 is_stmt 0 view .LVU812
2665 002e 0022 movs r2, #0
2666 0030 5A63 str r2, [r3, #52]
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2667 .loc 1 1710 7 is_stmt 1 view .LVU813
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2668 .loc 1 1710 11 is_stmt 0 view .LVU814
2669 0032 406B ldr r0, [r0, #52]
2670 .LVL196:
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2671 .loc 1 1710 11 view .LVU815
2672 0034 FFF7FEFF bl HAL_DMA_Abort
2673 .LVL197:
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2674 .loc 1 1710 10 view .LVU816
2675 0038 28B9 cbnz r0, .L179
2676 .L176:
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2677 .loc 1 1724 3 is_stmt 1 view .LVU817
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2678 .loc 1 1724 22 is_stmt 0 view .LVU818
2679 003a 0020 movs r0, #0
2680 003c E085 strh r0, [r4, #46] @ movhi
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2681 .loc 1 1727 3 is_stmt 1 view .LVU819
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2682 .loc 1 1727 18 is_stmt 0 view .LVU820
2683 003e 2023 movs r3, #32
2684 0040 84F83A30 strb r3, [r4, #58]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 116
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2685 .loc 1 1729 3 is_stmt 1 view .LVU821
2686 .L177:
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2687 .loc 1 1730 1 is_stmt 0 view .LVU822
2688 0044 10BD pop {r4, pc}
2689 .LVL198:
2690 .L179:
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2691 .loc 1 1712 9 is_stmt 1 view .LVU823
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2692 .loc 1 1712 13 is_stmt 0 view .LVU824
2693 0046 606B ldr r0, [r4, #52]
2694 0048 FFF7FEFF bl HAL_DMA_GetError
2695 .LVL199:
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2696 .loc 1 1712 12 view .LVU825
2697 004c 2028 cmp r0, #32
2698 004e F4D1 bne .L176
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2699 .loc 1 1715 11 is_stmt 1 view .LVU826
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2700 .loc 1 1715 28 is_stmt 0 view .LVU827
2701 0050 1023 movs r3, #16
2702 0052 E363 str r3, [r4, #60]
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2703 .loc 1 1717 11 is_stmt 1 view .LVU828
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2704 .loc 1 1717 18 is_stmt 0 view .LVU829
2705 0054 0320 movs r0, #3
2706 0056 F5E7 b .L177
2707 .cfi_endproc
2708 .LFE83:
2710 .section .text.HAL_UART_TxCpltCallback,"ax",%progbits
2711 .align 1
2712 .weak HAL_UART_TxCpltCallback
2713 .syntax unified
2714 .thumb
2715 .thumb_func
2716 .fpu softvfp
2718 HAL_UART_TxCpltCallback:
2719 .LVL200:
2720 .LFB88:
2168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2721 .loc 1 2168 1 is_stmt 1 view -0
2722 .cfi_startproc
2723 @ args = 0, pretend = 0, frame = 0
2724 @ frame_needed = 0, uses_anonymous_args = 0
2725 @ link register save eliminated.
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2726 .loc 1 2170 3 view .LVU831
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2727 .loc 1 2174 1 is_stmt 0 view .LVU832
2728 0000 7047 bx lr
2729 .cfi_endproc
2730 .LFE88:
2732 .section .text.UART_DMATransmitCplt,"ax",%progbits
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 117
2733 .align 1
2734 .syntax unified
2735 .thumb
2736 .thumb_func
2737 .fpu softvfp
2739 UART_DMATransmitCplt:
2740 .LVL201:
2741 .LFB103:
2543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2742 .loc 1 2543 1 is_stmt 1 view -0
2743 .cfi_startproc
2744 @ args = 0, pretend = 0, frame = 0
2745 @ frame_needed = 0, uses_anonymous_args = 0
2543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2746 .loc 1 2543 1 is_stmt 0 view .LVU834
2747 0000 08B5 push {r3, lr}
2748 .LCFI31:
2749 .cfi_def_cfa_offset 8
2750 .cfi_offset 3, -8
2751 .cfi_offset 14, -4
2544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Normal mode*/
2752 .loc 1 2544 3 is_stmt 1 view .LVU835
2544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Normal mode*/
2753 .loc 1 2544 23 is_stmt 0 view .LVU836
2754 0002 436A ldr r3, [r0, #36]
2755 .LVL202:
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2756 .loc 1 2546 3 is_stmt 1 view .LVU837
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2757 .loc 1 2546 12 is_stmt 0 view .LVU838
2758 0004 0268 ldr r2, [r0]
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2759 .loc 1 2546 22 view .LVU839
2760 0006 1268 ldr r2, [r2]
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2761 .loc 1 2546 6 view .LVU840
2762 0008 12F0200F tst r2, #32
2763 000c 0CD1 bne .L182
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2764 .loc 1 2548 5 is_stmt 1 view .LVU841
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2765 .loc 1 2548 24 is_stmt 0 view .LVU842
2766 000e 0022 movs r2, #0
2767 0010 DA84 strh r2, [r3, #38] @ movhi
2552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2768 .loc 1 2552 5 is_stmt 1 view .LVU843
2769 0012 1968 ldr r1, [r3]
2770 0014 4A69 ldr r2, [r1, #20]
2771 0016 22F08002 bic r2, r2, #128
2772 001a 4A61 str r2, [r1, #20]
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2773 .loc 1 2555 5 view .LVU844
2774 001c 1A68 ldr r2, [r3]
2775 001e D368 ldr r3, [r2, #12]
2776 .LVL203:
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2777 .loc 1 2555 5 is_stmt 0 view .LVU845
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 118
2778 0020 43F04003 orr r3, r3, #64
2779 0024 D360 str r3, [r2, #12]
2780 .LVL204:
2781 .L181:
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2782 .loc 1 2569 1 view .LVU846
2783 0026 08BD pop {r3, pc}
2784 .LVL205:
2785 .L182:
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2786 .loc 1 2566 5 is_stmt 1 view .LVU847
2787 0028 1846 mov r0, r3
2788 .LVL206:
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2789 .loc 1 2566 5 is_stmt 0 view .LVU848
2790 002a FFF7FEFF bl HAL_UART_TxCpltCallback
2791 .LVL207:
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2792 .loc 1 2569 1 view .LVU849
2793 002e FAE7 b .L181
2794 .cfi_endproc
2795 .LFE103:
2797 .section .text.UART_EndTransmit_IT,"ax",%progbits
2798 .align 1
2799 .syntax unified
2800 .thumb
2801 .thumb_func
2802 .fpu softvfp
2804 UART_EndTransmit_IT:
2805 .LVL208:
2806 .LFB117:
2968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
2807 .loc 1 2968 1 is_stmt 1 view -0
2808 .cfi_startproc
2809 @ args = 0, pretend = 0, frame = 0
2810 @ frame_needed = 0, uses_anonymous_args = 0
2968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable the UART Transmit Complete Interrupt */
2811 .loc 1 2968 1 is_stmt 0 view .LVU851
2812 0000 08B5 push {r3, lr}
2813 .LCFI32:
2814 .cfi_def_cfa_offset 8
2815 .cfi_offset 3, -8
2816 .cfi_offset 14, -4
2970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2817 .loc 1 2970 3 is_stmt 1 view .LVU852
2818 0002 0168 ldr r1, [r0]
2819 0004 CB68 ldr r3, [r1, #12]
2820 0006 23F04003 bic r3, r3, #64
2821 000a CB60 str r3, [r1, #12]
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2822 .loc 1 2973 3 view .LVU853
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2823 .loc 1 2973 17 is_stmt 0 view .LVU854
2824 000c 2023 movs r3, #32
2825 000e 80F83930 strb r3, [r0, #57]
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2826 .loc 1 2980 3 is_stmt 1 view .LVU855
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 119
2827 0012 FFF7FEFF bl HAL_UART_TxCpltCallback
2828 .LVL209:
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2829 .loc 1 2983 3 view .LVU856
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2830 .loc 1 2984 1 is_stmt 0 view .LVU857
2831 0016 0020 movs r0, #0
2832 0018 08BD pop {r3, pc}
2833 .cfi_endproc
2834 .LFE117:
2836 .section .text.HAL_UART_TxHalfCpltCallback,"ax",%progbits
2837 .align 1
2838 .weak HAL_UART_TxHalfCpltCallback
2839 .syntax unified
2840 .thumb
2841 .thumb_func
2842 .fpu softvfp
2844 HAL_UART_TxHalfCpltCallback:
2845 .LVL210:
2846 .LFB89:
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2847 .loc 1 2183 1 is_stmt 1 view -0
2848 .cfi_startproc
2849 @ args = 0, pretend = 0, frame = 0
2850 @ frame_needed = 0, uses_anonymous_args = 0
2851 @ link register save eliminated.
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2852 .loc 1 2185 3 view .LVU859
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2853 .loc 1 2189 1 is_stmt 0 view .LVU860
2854 0000 7047 bx lr
2855 .cfi_endproc
2856 .LFE89:
2858 .section .text.UART_DMATxHalfCplt,"ax",%progbits
2859 .align 1
2860 .syntax unified
2861 .thumb
2862 .thumb_func
2863 .fpu softvfp
2865 UART_DMATxHalfCplt:
2866 .LVL211:
2867 .LFB104:
2578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2868 .loc 1 2578 1 is_stmt 1 view -0
2869 .cfi_startproc
2870 @ args = 0, pretend = 0, frame = 0
2871 @ frame_needed = 0, uses_anonymous_args = 0
2578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2872 .loc 1 2578 1 is_stmt 0 view .LVU862
2873 0000 08B5 push {r3, lr}
2874 .LCFI33:
2875 .cfi_def_cfa_offset 8
2876 .cfi_offset 3, -8
2877 .cfi_offset 14, -4
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2878 .loc 1 2579 3 is_stmt 1 view .LVU863
2879 .LVL212:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 120
2586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2880 .loc 1 2586 3 view .LVU864
2881 0002 406A ldr r0, [r0, #36]
2882 .LVL213:
2586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2883 .loc 1 2586 3 is_stmt 0 view .LVU865
2884 0004 FFF7FEFF bl HAL_UART_TxHalfCpltCallback
2885 .LVL214:
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2886 .loc 1 2588 1 view .LVU866
2887 0008 08BD pop {r3, pc}
2888 .cfi_endproc
2889 .LFE104:
2891 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
2892 .align 1
2893 .weak HAL_UART_RxCpltCallback
2894 .syntax unified
2895 .thumb
2896 .thumb_func
2897 .fpu softvfp
2899 HAL_UART_RxCpltCallback:
2900 .LVL215:
2901 .LFB90:
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
2902 .loc 1 2198 1 is_stmt 1 view -0
2903 .cfi_startproc
2904 @ args = 0, pretend = 0, frame = 0
2905 @ frame_needed = 0, uses_anonymous_args = 0
2906 @ link register save eliminated.
2200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
2907 .loc 1 2200 3 view .LVU868
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2908 .loc 1 2204 1 is_stmt 0 view .LVU869
2909 0000 7047 bx lr
2910 .cfi_endproc
2911 .LFE90:
2913 .section .text.UART_DMAReceiveCplt,"ax",%progbits
2914 .align 1
2915 .syntax unified
2916 .thumb
2917 .thumb_func
2918 .fpu softvfp
2920 UART_DMAReceiveCplt:
2921 .LVL216:
2922 .LFB105:
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2923 .loc 1 2597 1 is_stmt 1 view -0
2924 .cfi_startproc
2925 @ args = 0, pretend = 0, frame = 0
2926 @ frame_needed = 0, uses_anonymous_args = 0
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
2927 .loc 1 2597 1 is_stmt 0 view .LVU871
2928 0000 08B5 push {r3, lr}
2929 .LCFI34:
2930 .cfi_def_cfa_offset 8
2931 .cfi_offset 3, -8
2932 .cfi_offset 14, -4
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 121
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Normal mode*/
2933 .loc 1 2598 3 is_stmt 1 view .LVU872
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* DMA Normal mode*/
2934 .loc 1 2598 23 is_stmt 0 view .LVU873
2935 0002 436A ldr r3, [r0, #36]
2936 .LVL217:
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2937 .loc 1 2600 3 is_stmt 1 view .LVU874
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2938 .loc 1 2600 12 is_stmt 0 view .LVU875
2939 0004 0268 ldr r2, [r0]
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2940 .loc 1 2600 22 view .LVU876
2941 0006 1268 ldr r2, [r2]
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
2942 .loc 1 2600 6 view .LVU877
2943 0008 12F0200F tst r2, #32
2944 000c 13D1 bne .L192
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2945 .loc 1 2602 5 is_stmt 1 view .LVU878
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2946 .loc 1 2602 24 is_stmt 0 view .LVU879
2947 000e 0022 movs r2, #0
2948 0010 DA85 strh r2, [r3, #46] @ movhi
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
2949 .loc 1 2605 5 is_stmt 1 view .LVU880
2950 0012 1968 ldr r1, [r3]
2951 0014 CA68 ldr r2, [r1, #12]
2952 0016 22F48072 bic r2, r2, #256
2953 001a CA60 str r2, [r1, #12]
2606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2954 .loc 1 2606 5 view .LVU881
2955 001c 1968 ldr r1, [r3]
2956 001e 4A69 ldr r2, [r1, #20]
2957 0020 22F00102 bic r2, r2, #1
2958 0024 4A61 str r2, [r1, #20]
2610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2959 .loc 1 2610 5 view .LVU882
2960 0026 1968 ldr r1, [r3]
2961 0028 4A69 ldr r2, [r1, #20]
2962 002a 22F04002 bic r2, r2, #64
2963 002e 4A61 str r2, [r1, #20]
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2964 .loc 1 2613 5 view .LVU883
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
2965 .loc 1 2613 20 is_stmt 0 view .LVU884
2966 0030 2022 movs r2, #32
2967 0032 83F83A20 strb r2, [r3, #58]
2968 .L192:
2620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2969 .loc 1 2620 3 is_stmt 1 view .LVU885
2970 0036 1846 mov r0, r3
2971 .LVL218:
2620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
2972 .loc 1 2620 3 is_stmt 0 view .LVU886
2973 0038 FFF7FEFF bl HAL_UART_RxCpltCallback
2974 .LVL219:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 122
2622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
2975 .loc 1 2622 1 view .LVU887
2976 003c 08BD pop {r3, pc}
2977 .cfi_endproc
2978 .LFE105:
2980 .section .text.UART_Receive_IT,"ax",%progbits
2981 .align 1
2982 .syntax unified
2983 .thumb
2984 .thumb_func
2985 .fpu softvfp
2987 UART_Receive_IT:
2988 .LVL220:
2989 .LFB118:
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
2990 .loc 1 2993 1 is_stmt 1 view -0
2991 .cfi_startproc
2992 @ args = 0, pretend = 0, frame = 0
2993 @ frame_needed = 0, uses_anonymous_args = 0
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint16_t *tmp;
2994 .loc 1 2993 1 is_stmt 0 view .LVU889
2995 0000 08B5 push {r3, lr}
2996 .LCFI35:
2997 .cfi_def_cfa_offset 8
2998 .cfi_offset 3, -8
2999 .cfi_offset 14, -4
2994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3000 .loc 1 2994 3 is_stmt 1 view .LVU890
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3001 .loc 1 2997 3 view .LVU891
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3002 .loc 1 2997 12 is_stmt 0 view .LVU892
3003 0002 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
3004 0006 DBB2 uxtb r3, r3
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3005 .loc 1 2997 6 view .LVU893
3006 0008 222B cmp r3, #34
3007 000a 45D1 bne .L200
2999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3008 .loc 1 2999 5 is_stmt 1 view .LVU894
2999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3009 .loc 1 2999 20 is_stmt 0 view .LVU895
3010 000c 8368 ldr r3, [r0, #8]
2999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3011 .loc 1 2999 8 view .LVU896
3012 000e B3F5805F cmp r3, #4096
3013 0012 0ED0 beq .L203
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3014 .loc 1 3015 7 is_stmt 1 view .LVU897
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3015 .loc 1 3015 22 is_stmt 0 view .LVU898
3016 0014 0369 ldr r3, [r0, #16]
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3017 .loc 1 3015 10 view .LVU899
3018 0016 03BB cbnz r3, .L199
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3019 .loc 1 3017 9 is_stmt 1 view .LVU900
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 123
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3020 .loc 1 3017 47 is_stmt 0 view .LVU901
3021 0018 0368 ldr r3, [r0]
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3022 .loc 1 3017 57 view .LVU902
3023 001a 5A68 ldr r2, [r3, #4]
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3024 .loc 1 3017 15 view .LVU903
3025 001c 836A ldr r3, [r0, #40]
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3026 .loc 1 3017 27 view .LVU904
3027 001e 591C adds r1, r3, #1
3028 0020 8162 str r1, [r0, #40]
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3029 .loc 1 3017 30 view .LVU905
3030 0022 1A70 strb r2, [r3]
3031 .L198:
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3032 .loc 1 3025 5 is_stmt 1 view .LVU906
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3033 .loc 1 3025 16 is_stmt 0 view .LVU907
3034 0024 C38D ldrh r3, [r0, #46]
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3035 .loc 1 3025 9 view .LVU908
3036 0026 013B subs r3, r3, #1
3037 0028 9BB2 uxth r3, r3
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3038 .loc 1 3025 8 view .LVU909
3039 002a C385 strh r3, [r0, #46] @ movhi
3040 002c F3B1 cbz r3, .L204
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3041 .loc 1 3049 12 view .LVU910
3042 002e 0020 movs r0, #0
3043 .LVL221:
3044 .L195:
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3045 .loc 1 3055 1 view .LVU911
3046 0030 08BD pop {r3, pc}
3047 .LVL222:
3048 .L203:
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
3049 .loc 1 3001 7 is_stmt 1 view .LVU912
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (huart->Init.Parity == UART_PARITY_NONE)
3050 .loc 1 3001 11 is_stmt 0 view .LVU913
3051 0032 826A ldr r2, [r0, #40]
3052 .LVL223:
3002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3053 .loc 1 3002 7 is_stmt 1 view .LVU914
3002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3054 .loc 1 3002 22 is_stmt 0 view .LVU915
3055 0034 0369 ldr r3, [r0, #16]
3002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3056 .loc 1 3002 10 view .LVU916
3057 0036 43B9 cbnz r3, .L197
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3058 .loc 1 3004 9 is_stmt 1 view .LVU917
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 124
3059 .loc 1 3004 32 is_stmt 0 view .LVU918
3060 0038 0368 ldr r3, [r0]
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3061 .loc 1 3004 42 view .LVU919
3062 003a 5B68 ldr r3, [r3, #4]
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3063 .loc 1 3004 16 view .LVU920
3064 003c C3F30803 ubfx r3, r3, #0, #9
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 2U;
3065 .loc 1 3004 14 view .LVU921
3066 0040 1380 strh r3, [r2] @ movhi
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3067 .loc 1 3005 9 is_stmt 1 view .LVU922
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3068 .loc 1 3005 27 is_stmt 0 view .LVU923
3069 0042 836A ldr r3, [r0, #40]
3070 0044 0233 adds r3, r3, #2
3071 0046 8362 str r3, [r0, #40]
3072 0048 ECE7 b .L198
3073 .L197:
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3074 .loc 1 3009 9 is_stmt 1 view .LVU924
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3075 .loc 1 3009 32 is_stmt 0 view .LVU925
3076 004a 0368 ldr r3, [r0]
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3077 .loc 1 3009 42 view .LVU926
3078 004c 5B68 ldr r3, [r3, #4]
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3079 .loc 1 3009 16 view .LVU927
3080 004e DBB2 uxtb r3, r3
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->pRxBuffPtr += 1U;
3081 .loc 1 3009 14 view .LVU928
3082 0050 1380 strh r3, [r2] @ movhi
3010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3083 .loc 1 3010 9 is_stmt 1 view .LVU929
3010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3084 .loc 1 3010 27 is_stmt 0 view .LVU930
3085 0052 836A ldr r3, [r0, #40]
3086 0054 0133 adds r3, r3, #1
3087 0056 8362 str r3, [r0, #40]
3088 0058 E4E7 b .L198
3089 .LVL224:
3090 .L199:
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3091 .loc 1 3021 9 is_stmt 1 view .LVU931
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3092 .loc 1 3021 47 is_stmt 0 view .LVU932
3093 005a 0368 ldr r3, [r0]
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3094 .loc 1 3021 57 view .LVU933
3095 005c 5B68 ldr r3, [r3, #4]
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3096 .loc 1 3021 15 view .LVU934
3097 005e 826A ldr r2, [r0, #40]
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3098 .loc 1 3021 27 view .LVU935
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 125
3099 0060 511C adds r1, r2, #1
3100 0062 8162 str r1, [r0, #40]
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3101 .loc 1 3021 32 view .LVU936
3102 0064 03F07F03 and r3, r3, #127
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3103 .loc 1 3021 30 view .LVU937
3104 0068 1370 strb r3, [r2]
3105 006a DBE7 b .L198
3106 .L204:
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3107 .loc 1 3028 7 is_stmt 1 view .LVU938
3108 006c 0268 ldr r2, [r0]
3109 006e D368 ldr r3, [r2, #12]
3110 0070 23F02003 bic r3, r3, #32
3111 0074 D360 str r3, [r2, #12]
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3112 .loc 1 3031 7 view .LVU939
3113 0076 0268 ldr r2, [r0]
3114 0078 D368 ldr r3, [r2, #12]
3115 007a 23F48073 bic r3, r3, #256
3116 007e D360 str r3, [r2, #12]
3034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3117 .loc 1 3034 7 view .LVU940
3118 0080 0268 ldr r2, [r0]
3119 0082 5369 ldr r3, [r2, #20]
3120 0084 23F00103 bic r3, r3, #1
3121 0088 5361 str r3, [r2, #20]
3037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3122 .loc 1 3037 7 view .LVU941
3037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3123 .loc 1 3037 22 is_stmt 0 view .LVU942
3124 008a 2023 movs r3, #32
3125 008c 80F83A30 strb r3, [r0, #58]
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3126 .loc 1 3044 7 is_stmt 1 view .LVU943
3127 0090 FFF7FEFF bl HAL_UART_RxCpltCallback
3128 .LVL225:
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3129 .loc 1 3047 7 view .LVU944
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3130 .loc 1 3047 14 is_stmt 0 view .LVU945
3131 0094 0020 movs r0, #0
3132 0096 CBE7 b .L195
3133 .LVL226:
3134 .L200:
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3135 .loc 1 3053 12 view .LVU946
3136 0098 0220 movs r0, #2
3137 .LVL227:
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3138 .loc 1 3053 12 view .LVU947
3139 009a C9E7 b .L195
3140 .cfi_endproc
3141 .LFE118:
3143 .section .text.HAL_UART_RxHalfCpltCallback,"ax",%progbits
3144 .align 1
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 126
3145 .weak HAL_UART_RxHalfCpltCallback
3146 .syntax unified
3147 .thumb
3148 .thumb_func
3149 .fpu softvfp
3151 HAL_UART_RxHalfCpltCallback:
3152 .LVL228:
3153 .LFB91:
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3154 .loc 1 2213 1 is_stmt 1 view -0
3155 .cfi_startproc
3156 @ args = 0, pretend = 0, frame = 0
3157 @ frame_needed = 0, uses_anonymous_args = 0
3158 @ link register save eliminated.
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
3159 .loc 1 2215 3 view .LVU949
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3160 .loc 1 2219 1 is_stmt 0 view .LVU950
3161 0000 7047 bx lr
3162 .cfi_endproc
3163 .LFE91:
3165 .section .text.UART_DMARxHalfCplt,"ax",%progbits
3166 .align 1
3167 .syntax unified
3168 .thumb
3169 .thumb_func
3170 .fpu softvfp
3172 UART_DMARxHalfCplt:
3173 .LVL229:
3174 .LFB106:
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3175 .loc 1 2631 1 is_stmt 1 view -0
3176 .cfi_startproc
3177 @ args = 0, pretend = 0, frame = 0
3178 @ frame_needed = 0, uses_anonymous_args = 0
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3179 .loc 1 2631 1 is_stmt 0 view .LVU952
3180 0000 08B5 push {r3, lr}
3181 .LCFI36:
3182 .cfi_def_cfa_offset 8
3183 .cfi_offset 3, -8
3184 .cfi_offset 14, -4
2632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3185 .loc 1 2632 3 is_stmt 1 view .LVU953
3186 .LVL230:
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3187 .loc 1 2639 3 view .LVU954
3188 0002 406A ldr r0, [r0, #36]
3189 .LVL231:
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3190 .loc 1 2639 3 is_stmt 0 view .LVU955
3191 0004 FFF7FEFF bl HAL_UART_RxHalfCpltCallback
3192 .LVL232:
2641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3193 .loc 1 2641 1 view .LVU956
3194 0008 08BD pop {r3, pc}
3195 .cfi_endproc
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 127
3196 .LFE106:
3198 .section .text.HAL_UART_ErrorCallback,"ax",%progbits
3199 .align 1
3200 .weak HAL_UART_ErrorCallback
3201 .syntax unified
3202 .thumb
3203 .thumb_func
3204 .fpu softvfp
3206 HAL_UART_ErrorCallback:
3207 .LVL233:
3208 .LFB92:
2228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3209 .loc 1 2228 1 is_stmt 1 view -0
3210 .cfi_startproc
3211 @ args = 0, pretend = 0, frame = 0
3212 @ frame_needed = 0, uses_anonymous_args = 0
3213 @ link register save eliminated.
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* NOTE: This function should not be modified, when the callback is needed,
3214 .loc 1 2230 3 view .LVU958
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3215 .loc 1 2234 1 is_stmt 0 view .LVU959
3216 0000 7047 bx lr
3217 .cfi_endproc
3218 .LFE92:
3220 .section .text.UART_DMAError,"ax",%progbits
3221 .align 1
3222 .syntax unified
3223 .thumb
3224 .thumb_func
3225 .fpu softvfp
3227 UART_DMAError:
3228 .LVL234:
3229 .LFB107:
2650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
3230 .loc 1 2650 1 is_stmt 1 view -0
3231 .cfi_startproc
3232 @ args = 0, pretend = 0, frame = 0
3233 @ frame_needed = 0, uses_anonymous_args = 0
2650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
3234 .loc 1 2650 1 is_stmt 0 view .LVU961
3235 0000 10B5 push {r4, lr}
3236 .LCFI37:
3237 .cfi_def_cfa_offset 8
3238 .cfi_offset 4, -8
3239 .cfi_offset 14, -4
2651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3240 .loc 1 2651 3 is_stmt 1 view .LVU962
3241 .LVL235:
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3242 .loc 1 2652 3 view .LVU963
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3243 .loc 1 2652 23 is_stmt 0 view .LVU964
3244 0002 446A ldr r4, [r0, #36]
3245 .LVL236:
2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
3246 .loc 1 2655 3 is_stmt 1 view .LVU965
2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->gState == HAL_UART_STATE_BUSY_TX) && dmarequest)
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 128
3247 .loc 1 2655 16 is_stmt 0 view .LVU966
3248 0004 2368 ldr r3, [r4]
3249 0006 5A69 ldr r2, [r3, #20]
3250 .LVL237:
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3251 .loc 1 2656 3 is_stmt 1 view .LVU967
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3252 .loc 1 2656 13 is_stmt 0 view .LVU968
3253 0008 94F83930 ldrb r3, [r4, #57] @ zero_extendqisi2
3254 000c DBB2 uxtb r3, r3
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3255 .loc 1 2656 6 view .LVU969
3256 000e 212B cmp r3, #33
3257 0010 10D0 beq .L213
3258 .LVL238:
3259 .L210:
2663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
3260 .loc 1 2663 3 is_stmt 1 view .LVU970
2663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if ((huart->RxState == HAL_UART_STATE_BUSY_RX) && dmarequest)
3261 .loc 1 2663 16 is_stmt 0 view .LVU971
3262 0012 2368 ldr r3, [r4]
3263 0014 5A69 ldr r2, [r3, #20]
3264 0016 02F04002 and r2, r2, #64
3265 .LVL239:
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3266 .loc 1 2664 3 is_stmt 1 view .LVU972
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3267 .loc 1 2664 13 is_stmt 0 view .LVU973
3268 001a 94F83A30 ldrb r3, [r4, #58] @ zero_extendqisi2
3269 001e DBB2 uxtb r3, r3
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3270 .loc 1 2664 6 view .LVU974
3271 0020 222B cmp r3, #34
3272 0022 11D0 beq .L214
3273 .LVL240:
3274 .L211:
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3275 .loc 1 2670 3 is_stmt 1 view .LVU975
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
3276 .loc 1 2670 20 is_stmt 0 view .LVU976
3277 0024 E36B ldr r3, [r4, #60]
3278 0026 43F01003 orr r3, r3, #16
3279 002a E363 str r3, [r4, #60]
2676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3280 .loc 1 2676 3 is_stmt 1 view .LVU977
3281 002c 2046 mov r0, r4
3282 002e FFF7FEFF bl HAL_UART_ErrorCallback
3283 .LVL241:
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3284 .loc 1 2678 1 is_stmt 0 view .LVU978
3285 0032 10BD pop {r4, pc}
3286 .LVL242:
3287 .L213:
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3288 .loc 1 2678 1 view .LVU979
3289 0034 02F08002 and r2, r2, #128
3290 .LVL243:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 129
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3291 .loc 1 2656 49 discriminator 1 view .LVU980
3292 0038 002A cmp r2, #0
3293 003a EAD0 beq .L210
2658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndTxTransfer(huart);
3294 .loc 1 2658 5 is_stmt 1 view .LVU981
2658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndTxTransfer(huart);
3295 .loc 1 2658 24 is_stmt 0 view .LVU982
3296 003c 0023 movs r3, #0
3297 003e E384 strh r3, [r4, #38] @ movhi
2659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3298 .loc 1 2659 5 is_stmt 1 view .LVU983
3299 0040 2046 mov r0, r4
3300 .LVL244:
2659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3301 .loc 1 2659 5 is_stmt 0 view .LVU984
3302 0042 FFF7FEFF bl UART_EndTxTransfer
3303 .LVL245:
3304 0046 E4E7 b .L210
3305 .LVL246:
3306 .L214:
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3307 .loc 1 2664 50 discriminator 1 view .LVU985
3308 0048 002A cmp r2, #0
3309 004a EBD0 beq .L211
2666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndRxTransfer(huart);
3310 .loc 1 2666 5 is_stmt 1 view .LVU986
2666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_EndRxTransfer(huart);
3311 .loc 1 2666 24 is_stmt 0 view .LVU987
3312 004c 0023 movs r3, #0
3313 004e E385 strh r3, [r4, #46] @ movhi
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3314 .loc 1 2667 5 is_stmt 1 view .LVU988
3315 0050 2046 mov r0, r4
3316 0052 FFF7FEFF bl UART_EndRxTransfer
3317 .LVL247:
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3318 .loc 1 2667 5 is_stmt 0 view .LVU989
3319 0056 E5E7 b .L211
3320 .cfi_endproc
3321 .LFE107:
3323 .section .text.HAL_UART_IRQHandler,"ax",%progbits
3324 .align 1
3325 .global HAL_UART_IRQHandler
3326 .syntax unified
3327 .thumb
3328 .thumb_func
3329 .fpu softvfp
3331 HAL_UART_IRQHandler:
3332 .LVL248:
3333 .LFB87:
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
3334 .loc 1 2022 1 is_stmt 1 view -0
3335 .cfi_startproc
3336 @ args = 0, pretend = 0, frame = 0
3337 @ frame_needed = 0, uses_anonymous_args = 0
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t isrflags = READ_REG(huart->Instance->SR);
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 130
3338 .loc 1 2022 1 is_stmt 0 view .LVU991
3339 0000 10B5 push {r4, lr}
3340 .LCFI38:
3341 .cfi_def_cfa_offset 8
3342 .cfi_offset 4, -8
3343 .cfi_offset 14, -4
3344 0002 0446 mov r4, r0
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
3345 .loc 1 2023 3 is_stmt 1 view .LVU992
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
3346 .loc 1 2023 25 is_stmt 0 view .LVU993
3347 0004 0268 ldr r2, [r0]
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t cr1its = READ_REG(huart->Instance->CR1);
3348 .loc 1 2023 12 view .LVU994
3349 0006 1368 ldr r3, [r2]
3350 .LVL249:
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
3351 .loc 1 2024 3 is_stmt 1 view .LVU995
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t cr3its = READ_REG(huart->Instance->CR3);
3352 .loc 1 2024 12 is_stmt 0 view .LVU996
3353 0008 D168 ldr r1, [r2, #12]
3354 .LVL250:
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t errorflags = 0x00U;
3355 .loc 1 2025 3 is_stmt 1 view .LVU997
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t errorflags = 0x00U;
3356 .loc 1 2025 12 is_stmt 0 view .LVU998
3357 000a 5269 ldr r2, [r2, #20]
3358 .LVL251:
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t dmarequest = 0x00U;
3359 .loc 1 2026 3 is_stmt 1 view .LVU999
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3360 .loc 1 2027 3 view .LVU1000
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (errorflags == RESET)
3361 .loc 1 2030 3 view .LVU1001
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3362 .loc 1 2031 3 view .LVU1002
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3363 .loc 1 2031 6 is_stmt 0 view .LVU1003
3364 000c 13F00F00 ands r0, r3, #15
3365 .LVL252:
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3366 .loc 1 2031 6 view .LVU1004
3367 0010 05D1 bne .L216
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3368 .loc 1 2034 5 is_stmt 1 view .LVU1005
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3369 .loc 1 2034 8 is_stmt 0 view .LVU1006
3370 0012 13F0200F tst r3, #32
3371 0016 02D0 beq .L216
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3372 .loc 1 2034 47 discriminator 1 view .LVU1007
3373 0018 11F0200F tst r1, #32
3374 001c 13D1 bne .L232
3375 .L216:
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3376 .loc 1 2042 3 is_stmt 1 view .LVU1008
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 131
3377 .loc 1 2042 6 is_stmt 0 view .LVU1009
3378 001e 28B1 cbz r0, .L218
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3379 .loc 1 2042 29 discriminator 1 view .LVU1010
3380 0020 12F00102 ands r2, r2, #1
3381 .LVL253:
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3382 .loc 1 2042 29 discriminator 1 view .LVU1011
3383 0024 13D1 bne .L219
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3384 .loc 1 2042 69 discriminator 2 view .LVU1012
3385 0026 11F4907F tst r1, #288
3386 002a 10D1 bne .L219
3387 .L218:
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3388 .loc 1 2147 3 is_stmt 1 view .LVU1013
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3389 .loc 1 2147 6 is_stmt 0 view .LVU1014
3390 002c 13F0800F tst r3, #128
3391 0030 02D0 beq .L230
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3392 .loc 1 2147 44 discriminator 1 view .LVU1015
3393 0032 11F0800F tst r1, #128
3394 0036 69D1 bne .L233
3395 .L230:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3396 .loc 1 2154 3 is_stmt 1 view .LVU1016
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3397 .loc 1 2154 6 is_stmt 0 view .LVU1017
3398 0038 13F0400F tst r3, #64
3399 003c 02D0 beq .L215
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3400 .loc 1 2154 43 discriminator 1 view .LVU1018
3401 003e 11F0400F tst r1, #64
3402 0042 67D1 bne .L234
3403 .LVL254:
3404 .L215:
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3405 .loc 1 2159 1 view .LVU1019
3406 0044 10BD pop {r4, pc}
3407 .LVL255:
3408 .L232:
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
3409 .loc 1 2036 7 is_stmt 1 view .LVU1020
3410 0046 2046 mov r0, r4
3411 .LVL256:
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
3412 .loc 1 2036 7 is_stmt 0 view .LVU1021
3413 0048 FFF7FEFF bl UART_Receive_IT
3414 .LVL257:
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3415 .loc 1 2037 7 is_stmt 1 view .LVU1022
3416 004c FAE7 b .L215
3417 .LVL258:
3418 .L219:
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3419 .loc 1 2045 5 view .LVU1023
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 132
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3420 .loc 1 2045 8 is_stmt 0 view .LVU1024
3421 004e 13F0010F tst r3, #1
3422 0052 06D0 beq .L220
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3423 .loc 1 2045 45 discriminator 1 view .LVU1025
3424 0054 11F4807F tst r1, #256
3425 0058 03D0 beq .L220
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3426 .loc 1 2047 7 is_stmt 1 view .LVU1026
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3427 .loc 1 2047 24 is_stmt 0 view .LVU1027
3428 005a E06B ldr r0, [r4, #60]
3429 .LVL259:
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3430 .loc 1 2047 24 view .LVU1028
3431 005c 40F00100 orr r0, r0, #1
3432 0060 E063 str r0, [r4, #60]
3433 .L220:
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3434 .loc 1 2051 5 is_stmt 1 view .LVU1029
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3435 .loc 1 2051 8 is_stmt 0 view .LVU1030
3436 0062 13F0040F tst r3, #4
3437 0066 04D0 beq .L221
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3438 .loc 1 2051 45 discriminator 1 view .LVU1031
3439 0068 1AB1 cbz r2, .L221
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3440 .loc 1 2053 7 is_stmt 1 view .LVU1032
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3441 .loc 1 2053 24 is_stmt 0 view .LVU1033
3442 006a E06B ldr r0, [r4, #60]
3443 006c 40F00200 orr r0, r0, #2
3444 0070 E063 str r0, [r4, #60]
3445 .L221:
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3446 .loc 1 2057 5 is_stmt 1 view .LVU1034
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3447 .loc 1 2057 8 is_stmt 0 view .LVU1035
3448 0072 13F0020F tst r3, #2
3449 0076 04D0 beq .L222
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3450 .loc 1 2057 45 discriminator 1 view .LVU1036
3451 0078 1AB1 cbz r2, .L222
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3452 .loc 1 2059 7 is_stmt 1 view .LVU1037
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3453 .loc 1 2059 24 is_stmt 0 view .LVU1038
3454 007a E06B ldr r0, [r4, #60]
3455 007c 40F00400 orr r0, r0, #4
3456 0080 E063 str r0, [r4, #60]
3457 .L222:
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3458 .loc 1 2063 5 is_stmt 1 view .LVU1039
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3459 .loc 1 2063 8 is_stmt 0 view .LVU1040
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 133
3460 0082 13F0080F tst r3, #8
3461 0086 04D0 beq .L223
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3462 .loc 1 2063 46 discriminator 1 view .LVU1041
3463 0088 1AB1 cbz r2, .L223
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3464 .loc 1 2065 7 is_stmt 1 view .LVU1042
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3465 .loc 1 2065 24 is_stmt 0 view .LVU1043
3466 008a E26B ldr r2, [r4, #60]
3467 008c 42F00802 orr r2, r2, #8
3468 0090 E263 str r2, [r4, #60]
3469 .L223:
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3470 .loc 1 2069 5 is_stmt 1 view .LVU1044
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3471 .loc 1 2069 14 is_stmt 0 view .LVU1045
3472 0092 E26B ldr r2, [r4, #60]
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3473 .loc 1 2069 8 view .LVU1046
3474 0094 002A cmp r2, #0
3475 0096 D5D0 beq .L215
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3476 .loc 1 2072 7 is_stmt 1 view .LVU1047
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3477 .loc 1 2072 10 is_stmt 0 view .LVU1048
3478 0098 13F0200F tst r3, #32
3479 009c 02D0 beq .L225
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3480 .loc 1 2072 49 discriminator 1 view .LVU1049
3481 009e 11F0200F tst r1, #32
3482 00a2 21D1 bne .L235
3483 .LVL260:
3484 .L225:
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
3485 .loc 1 2079 7 is_stmt 1 view .LVU1050
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (((huart->ErrorCode & HAL_UART_ERROR_ORE) != RESET) || dmarequest)
3486 .loc 1 2079 20 is_stmt 0 view .LVU1051
3487 00a4 2368 ldr r3, [r4]
3488 00a6 5B69 ldr r3, [r3, #20]
3489 00a8 03F04003 and r3, r3, #64
3490 .LVL261:
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3491 .loc 1 2080 7 is_stmt 1 view .LVU1052
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3492 .loc 1 2080 18 is_stmt 0 view .LVU1053
3493 00ac E26B ldr r2, [r4, #60]
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3494 .loc 1 2080 10 view .LVU1054
3495 00ae 12F0080F tst r2, #8
3496 00b2 00D1 bne .L226
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3497 .loc 1 2080 62 discriminator 1 view .LVU1055
3498 00b4 23B3 cbz r3, .L227
3499 .L226:
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3500 .loc 1 2085 9 is_stmt 1 view .LVU1056
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 134
3501 00b6 2046 mov r0, r4
3502 00b8 FFF7FEFF bl UART_EndRxTransfer
3503 .LVL262:
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3504 .loc 1 2088 9 view .LVU1057
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3505 .loc 1 2088 13 is_stmt 0 view .LVU1058
3506 00bc 2368 ldr r3, [r4]
3507 00be 5A69 ldr r2, [r3, #20]
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3508 .loc 1 2088 12 view .LVU1059
3509 00c0 12F0400F tst r2, #64
3510 00c4 18D0 beq .L228
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3511 .loc 1 2090 11 is_stmt 1 view .LVU1060
3512 00c6 5A69 ldr r2, [r3, #20]
3513 00c8 22F04002 bic r2, r2, #64
3514 00cc 5A61 str r2, [r3, #20]
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3515 .loc 1 2093 11 view .LVU1061
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3516 .loc 1 2093 20 is_stmt 0 view .LVU1062
3517 00ce 636B ldr r3, [r4, #52]
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3518 .loc 1 2093 14 view .LVU1063
3519 00d0 73B1 cbz r3, .L229
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
3520 .loc 1 2097 13 is_stmt 1 view .LVU1064
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
3521 .loc 1 2097 46 is_stmt 0 view .LVU1065
3522 00d2 124A ldr r2, .L236
3523 00d4 5A63 str r2, [r3, #52]
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3524 .loc 1 2098 13 is_stmt 1 view .LVU1066
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3525 .loc 1 2098 17 is_stmt 0 view .LVU1067
3526 00d6 606B ldr r0, [r4, #52]
3527 00d8 FFF7FEFF bl HAL_DMA_Abort_IT
3528 .LVL263:
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3529 .loc 1 2098 16 view .LVU1068
3530 00dc 0028 cmp r0, #0
3531 00de B1D0 beq .L215
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3532 .loc 1 2101 15 is_stmt 1 view .LVU1069
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3533 .loc 1 2101 20 is_stmt 0 view .LVU1070
3534 00e0 606B ldr r0, [r4, #52]
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3535 .loc 1 2101 28 view .LVU1071
3536 00e2 436B ldr r3, [r0, #52]
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3537 .loc 1 2101 15 view .LVU1072
3538 00e4 9847 blx r3
3539 .LVL264:
3540 00e6 ADE7 b .L215
3541 .LVL265:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 135
3542 .L235:
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3543 .loc 1 2074 9 is_stmt 1 view .LVU1073
3544 00e8 2046 mov r0, r4
3545 00ea FFF7FEFF bl UART_Receive_IT
3546 .LVL266:
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3547 .loc 1 2074 9 is_stmt 0 view .LVU1074
3548 00ee D9E7 b .L225
3549 .LVL267:
3550 .L229:
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3551 .loc 1 2112 13 is_stmt 1 view .LVU1075
3552 00f0 2046 mov r0, r4
3553 00f2 FFF7FEFF bl HAL_UART_ErrorCallback
3554 .LVL268:
3555 00f6 A5E7 b .L215
3556 .L228:
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3557 .loc 1 2124 11 view .LVU1076
3558 00f8 2046 mov r0, r4
3559 00fa FFF7FEFF bl HAL_UART_ErrorCallback
3560 .LVL269:
3561 00fe A1E7 b .L215
3562 .LVL270:
3563 .L227:
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3564 .loc 1 2137 9 view .LVU1077
3565 0100 2046 mov r0, r4
3566 0102 FFF7FEFF bl HAL_UART_ErrorCallback
3567 .LVL271:
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3568 .loc 1 2140 9 view .LVU1078
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3569 .loc 1 2140 26 is_stmt 0 view .LVU1079
3570 0106 0023 movs r3, #0
3571 0108 E363 str r3, [r4, #60]
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** } /* End if some error occurs */
3572 .loc 1 2143 5 is_stmt 1 view .LVU1080
3573 010a 9BE7 b .L215
3574 .LVL272:
3575 .L233:
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
3576 .loc 1 2149 5 view .LVU1081
3577 010c 2046 mov r0, r4
3578 .LVL273:
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
3579 .loc 1 2149 5 is_stmt 0 view .LVU1082
3580 010e FFF7FEFF bl UART_Transmit_IT
3581 .LVL274:
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3582 .loc 1 2150 5 is_stmt 1 view .LVU1083
3583 0112 97E7 b .L215
3584 .LVL275:
3585 .L234:
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
3586 .loc 1 2156 5 view .LVU1084
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 136
3587 0114 2046 mov r0, r4
3588 .LVL276:
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return;
3589 .loc 1 2156 5 is_stmt 0 view .LVU1085
3590 0116 FFF7FEFF bl UART_EndTransmit_IT
3591 .LVL277:
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3592 .loc 1 2157 5 is_stmt 1 view .LVU1086
3593 011a 93E7 b .L215
3594 .L237:
3595 .align 2
3596 .L236:
3597 011c 00000000 .word UART_DMAAbortOnError
3598 .cfi_endproc
3599 .LFE87:
3601 .section .text.UART_DMAAbortOnError,"ax",%progbits
3602 .align 1
3603 .syntax unified
3604 .thumb
3605 .thumb_func
3606 .fpu softvfp
3608 UART_DMAAbortOnError:
3609 .LVL278:
3610 .LFB111:
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3611 .loc 1 2754 1 view -0
3612 .cfi_startproc
3613 @ args = 0, pretend = 0, frame = 0
3614 @ frame_needed = 0, uses_anonymous_args = 0
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3615 .loc 1 2754 1 is_stmt 0 view .LVU1088
3616 0000 08B5 push {r3, lr}
3617 .LCFI39:
3618 .cfi_def_cfa_offset 8
3619 .cfi_offset 3, -8
3620 .cfi_offset 14, -4
2755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3621 .loc 1 2755 3 is_stmt 1 view .LVU1089
2755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3622 .loc 1 2755 23 is_stmt 0 view .LVU1090
3623 0002 406A ldr r0, [r0, #36]
3624 .LVL279:
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3625 .loc 1 2756 3 is_stmt 1 view .LVU1091
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->TxXferCount = 0x00U;
3626 .loc 1 2756 22 is_stmt 0 view .LVU1092
3627 0004 0023 movs r3, #0
3628 0006 C385 strh r3, [r0, #46] @ movhi
2757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3629 .loc 1 2757 3 is_stmt 1 view .LVU1093
2757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3630 .loc 1 2757 22 is_stmt 0 view .LVU1094
3631 0008 C384 strh r3, [r0, #38] @ movhi
2764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3632 .loc 1 2764 3 is_stmt 1 view .LVU1095
3633 000a FFF7FEFF bl HAL_UART_ErrorCallback
3634 .LVL280:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 137
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3635 .loc 1 2766 1 is_stmt 0 view .LVU1096
3636 000e 08BD pop {r3, pc}
3637 .cfi_endproc
3638 .LFE111:
3640 .section .text.HAL_UART_AbortCpltCallback,"ax",%progbits
3641 .align 1
3642 .weak HAL_UART_AbortCpltCallback
3643 .syntax unified
3644 .thumb
3645 .thumb_func
3646 .fpu softvfp
3648 HAL_UART_AbortCpltCallback:
3649 .LVL281:
3650 .LFB93:
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
3651 .loc 1 2242 1 is_stmt 1 view -0
3652 .cfi_startproc
3653 @ args = 0, pretend = 0, frame = 0
3654 @ frame_needed = 0, uses_anonymous_args = 0
3655 @ link register save eliminated.
2244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3656 .loc 1 2244 3 view .LVU1098
2249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3657 .loc 1 2249 1 is_stmt 0 view .LVU1099
3658 0000 7047 bx lr
3659 .cfi_endproc
3660 .LFE93:
3662 .section .text.HAL_UART_Abort_IT,"ax",%progbits
3663 .align 1
3664 .global HAL_UART_Abort_IT
3665 .syntax unified
3666 .thumb
3667 .thumb_func
3668 .fpu softvfp
3670 HAL_UART_Abort_IT:
3671 .LVL282:
3672 .LFB84:
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
3673 .loc 1 1747 1 is_stmt 1 view -0
3674 .cfi_startproc
3675 @ args = 0, pretend = 0, frame = 0
3676 @ frame_needed = 0, uses_anonymous_args = 0
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t AbortCplt = 0x01U;
3677 .loc 1 1747 1 is_stmt 0 view .LVU1101
3678 0000 10B5 push {r4, lr}
3679 .LCFI40:
3680 .cfi_def_cfa_offset 8
3681 .cfi_offset 4, -8
3682 .cfi_offset 14, -4
3683 0002 0446 mov r4, r0
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3684 .loc 1 1748 3 is_stmt 1 view .LVU1102
3685 .LVL283:
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
3686 .loc 1 1751 3 view .LVU1103
3687 0004 0268 ldr r2, [r0]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 138
3688 0006 D368 ldr r3, [r2, #12]
3689 0008 23F4F073 bic r3, r3, #480
3690 000c D360 str r3, [r2, #12]
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3691 .loc 1 1752 3 view .LVU1104
3692 000e 0268 ldr r2, [r0]
3693 0010 5369 ldr r3, [r2, #20]
3694 0012 23F00103 bic r3, r3, #1
3695 0016 5361 str r3, [r2, #20]
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3696 .loc 1 1757 3 view .LVU1105
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3697 .loc 1 1757 12 is_stmt 0 view .LVU1106
3698 0018 036B ldr r3, [r0, #48]
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3699 .loc 1 1757 6 view .LVU1107
3700 001a 33B1 cbz r3, .L242
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3701 .loc 1 1761 5 is_stmt 1 view .LVU1108
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3702 .loc 1 1761 9 is_stmt 0 view .LVU1109
3703 001c 0268 ldr r2, [r0]
3704 001e 5269 ldr r2, [r2, #20]
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3705 .loc 1 1761 8 view .LVU1110
3706 0020 12F0800F tst r2, #128
3707 0024 1DD0 beq .L243
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3708 .loc 1 1763 7 is_stmt 1 view .LVU1111
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3709 .loc 1 1763 40 is_stmt 0 view .LVU1112
3710 0026 254A ldr r2, .L254
3711 0028 5A63 str r2, [r3, #52]
3712 .L242:
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3713 .loc 1 1771 3 is_stmt 1 view .LVU1113
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3714 .loc 1 1771 12 is_stmt 0 view .LVU1114
3715 002a 636B ldr r3, [r4, #52]
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3716 .loc 1 1771 6 view .LVU1115
3717 002c 33B1 cbz r3, .L244
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3718 .loc 1 1775 5 is_stmt 1 view .LVU1116
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3719 .loc 1 1775 9 is_stmt 0 view .LVU1117
3720 002e 2268 ldr r2, [r4]
3721 0030 5269 ldr r2, [r2, #20]
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3722 .loc 1 1775 8 view .LVU1118
3723 0032 12F0400F tst r2, #64
3724 0036 17D0 beq .L245
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3725 .loc 1 1777 7 is_stmt 1 view .LVU1119
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3726 .loc 1 1777 40 is_stmt 0 view .LVU1120
3727 0038 214A ldr r2, .L254+4
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 139
3728 003a 5A63 str r2, [r3, #52]
3729 .L244:
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3730 .loc 1 1786 3 is_stmt 1 view .LVU1121
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3731 .loc 1 1786 7 is_stmt 0 view .LVU1122
3732 003c 2368 ldr r3, [r4]
3733 003e 5A69 ldr r2, [r3, #20]
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3734 .loc 1 1786 6 view .LVU1123
3735 0040 12F0800F tst r2, #128
3736 0044 13D0 beq .L250
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3737 .loc 1 1789 5 is_stmt 1 view .LVU1124
3738 0046 5A69 ldr r2, [r3, #20]
3739 0048 22F08002 bic r2, r2, #128
3740 004c 5A61 str r2, [r3, #20]
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3741 .loc 1 1792 5 view .LVU1125
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3742 .loc 1 1792 14 is_stmt 0 view .LVU1126
3743 004e 206B ldr r0, [r4, #48]
3744 .LVL284:
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3745 .loc 1 1792 8 view .LVU1127
3746 0050 60B3 cbz r0, .L251
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3747 .loc 1 1798 7 is_stmt 1 view .LVU1128
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3748 .loc 1 1798 11 is_stmt 0 view .LVU1129
3749 0052 FFF7FEFF bl HAL_DMA_Abort_IT
3750 .LVL285:
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3751 .loc 1 1798 10 view .LVU1130
3752 0056 58B3 cbz r0, .L252
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3753 .loc 1 1800 9 is_stmt 1 view .LVU1131
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3754 .loc 1 1800 14 is_stmt 0 view .LVU1132
3755 0058 236B ldr r3, [r4, #48]
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3756 .loc 1 1800 42 view .LVU1133
3757 005a 0022 movs r2, #0
3758 005c 5A63 str r2, [r3, #52]
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3759 .loc 1 1748 12 view .LVU1134
3760 005e 0121 movs r1, #1
3761 0060 06E0 b .L246
3762 .LVL286:
3763 .L243:
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3764 .loc 1 1767 7 is_stmt 1 view .LVU1135
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3765 .loc 1 1767 40 is_stmt 0 view .LVU1136
3766 0062 0022 movs r2, #0
3767 0064 5A63 str r2, [r3, #52]
3768 0066 E0E7 b .L242
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 140
3769 .L245:
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3770 .loc 1 1781 7 is_stmt 1 view .LVU1137
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3771 .loc 1 1781 40 is_stmt 0 view .LVU1138
3772 0068 0022 movs r2, #0
3773 006a 5A63 str r2, [r3, #52]
3774 006c E6E7 b .L244
3775 .L250:
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3776 .loc 1 1748 12 view .LVU1139
3777 006e 0121 movs r1, #1
3778 .LVL287:
3779 .L246:
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3780 .loc 1 1810 3 is_stmt 1 view .LVU1140
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3781 .loc 1 1810 7 is_stmt 0 view .LVU1141
3782 0070 2368 ldr r3, [r4]
3783 0072 5A69 ldr r2, [r3, #20]
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3784 .loc 1 1810 6 view .LVU1142
3785 0074 12F0400F tst r2, #64
3786 0078 1CD0 beq .L247
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3787 .loc 1 1812 5 is_stmt 1 view .LVU1143
3788 007a 5A69 ldr r2, [r3, #20]
3789 007c 22F04002 bic r2, r2, #64
3790 0080 5A61 str r2, [r3, #20]
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3791 .loc 1 1815 5 view .LVU1144
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3792 .loc 1 1815 14 is_stmt 0 view .LVU1145
3793 0082 606B ldr r0, [r4, #52]
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3794 .loc 1 1815 8 view .LVU1146
3795 0084 B0B1 cbz r0, .L247
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3796 .loc 1 1821 7 is_stmt 1 view .LVU1147
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3797 .loc 1 1821 11 is_stmt 0 view .LVU1148
3798 0086 FFF7FEFF bl HAL_DMA_Abort_IT
3799 .LVL288:
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3800 .loc 1 1821 10 view .LVU1149
3801 008a A8B1 cbz r0, .L248
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** AbortCplt = 0x01U;
3802 .loc 1 1823 9 is_stmt 1 view .LVU1150
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** AbortCplt = 0x01U;
3803 .loc 1 1823 14 is_stmt 0 view .LVU1151
3804 008c 636B ldr r3, [r4, #52]
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** AbortCplt = 0x01U;
3805 .loc 1 1823 42 view .LVU1152
3806 008e 0022 movs r2, #0
3807 0090 5A63 str r2, [r3, #52]
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3808 .loc 1 1824 9 is_stmt 1 view .LVU1153
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 141
3809 .LVL289:
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3810 .loc 1 1834 3 view .LVU1154
3811 .L249:
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3812 .loc 1 1837 5 view .LVU1155
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3813 .loc 1 1837 24 is_stmt 0 view .LVU1156
3814 0092 0023 movs r3, #0
3815 0094 E384 strh r3, [r4, #38] @ movhi
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3816 .loc 1 1838 5 is_stmt 1 view .LVU1157
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3817 .loc 1 1838 24 is_stmt 0 view .LVU1158
3818 0096 E385 strh r3, [r4, #46] @ movhi
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3819 .loc 1 1841 5 is_stmt 1 view .LVU1159
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3820 .loc 1 1841 22 is_stmt 0 view .LVU1160
3821 0098 E363 str r3, [r4, #60]
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3822 .loc 1 1844 5 is_stmt 1 view .LVU1161
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3823 .loc 1 1844 20 is_stmt 0 view .LVU1162
3824 009a 2023 movs r3, #32
3825 009c 84F83930 strb r3, [r4, #57]
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3826 .loc 1 1845 5 is_stmt 1 view .LVU1163
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3827 .loc 1 1845 20 is_stmt 0 view .LVU1164
3828 00a0 84F83A30 strb r3, [r4, #58]
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3829 .loc 1 1853 5 is_stmt 1 view .LVU1165
3830 00a4 2046 mov r0, r4
3831 00a6 FFF7FEFF bl HAL_UART_AbortCpltCallback
3832 .LVL290:
3833 00aa 05E0 b .L248
3834 .LVL291:
3835 .L251:
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3836 .loc 1 1748 12 is_stmt 0 view .LVU1166
3837 00ac 0121 movs r1, #1
3838 00ae DFE7 b .L246
3839 .L252:
1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3840 .loc 1 1804 19 view .LVU1167
3841 00b0 0021 movs r1, #0
3842 00b2 DDE7 b .L246
3843 .LVL292:
3844 .L247:
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3845 .loc 1 1834 3 is_stmt 1 view .LVU1168
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3846 .loc 1 1834 6 is_stmt 0 view .LVU1169
3847 00b4 0029 cmp r1, #0
3848 00b6 ECD1 bne .L249
3849 .LVL293:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 142
3850 .L248:
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
3851 .loc 1 1857 3 is_stmt 1 view .LVU1170
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3852 .loc 1 1858 1 is_stmt 0 view .LVU1171
3853 00b8 0020 movs r0, #0
3854 00ba 10BD pop {r4, pc}
3855 .LVL294:
3856 .L255:
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3857 .loc 1 1858 1 view .LVU1172
3858 .align 2
3859 .L254:
3860 00bc 00000000 .word UART_DMATxAbortCallback
3861 00c0 00000000 .word UART_DMARxAbortCallback
3862 .cfi_endproc
3863 .LFE84:
3865 .section .text.UART_DMARxAbortCallback,"ax",%progbits
3866 .align 1
3867 .syntax unified
3868 .thumb
3869 .thumb_func
3870 .fpu softvfp
3872 UART_DMARxAbortCallback:
3873 .LVL295:
3874 .LFB113:
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3875 .loc 1 2823 1 is_stmt 1 view -0
3876 .cfi_startproc
3877 @ args = 0, pretend = 0, frame = 0
3878 @ frame_needed = 0, uses_anonymous_args = 0
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3879 .loc 1 2823 1 is_stmt 0 view .LVU1174
3880 0000 08B5 push {r3, lr}
3881 .LCFI41:
3882 .cfi_def_cfa_offset 8
3883 .cfi_offset 3, -8
3884 .cfi_offset 14, -4
2824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3885 .loc 1 2824 3 is_stmt 1 view .LVU1175
2824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3886 .loc 1 2824 23 is_stmt 0 view .LVU1176
3887 0002 406A ldr r0, [r0, #36]
3888 .LVL296:
2826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3889 .loc 1 2826 3 is_stmt 1 view .LVU1177
2826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3890 .loc 1 2826 8 is_stmt 0 view .LVU1178
3891 0004 436B ldr r3, [r0, #52]
2826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3892 .loc 1 2826 36 view .LVU1179
3893 0006 0022 movs r2, #0
3894 0008 5A63 str r2, [r3, #52]
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3895 .loc 1 2829 3 is_stmt 1 view .LVU1180
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3896 .loc 1 2829 12 is_stmt 0 view .LVU1181
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 143
3897 000a 036B ldr r3, [r0, #48]
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3898 .loc 1 2829 6 view .LVU1182
3899 000c 0BB1 cbz r3, .L257
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3900 .loc 1 2831 5 is_stmt 1 view .LVU1183
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3901 .loc 1 2831 22 is_stmt 0 view .LVU1184
3902 000e 5B6B ldr r3, [r3, #52]
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3903 .loc 1 2831 8 view .LVU1185
3904 0010 53B9 cbnz r3, .L256
3905 .L257:
2838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3906 .loc 1 2838 3 is_stmt 1 view .LVU1186
2838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3907 .loc 1 2838 22 is_stmt 0 view .LVU1187
3908 0012 0023 movs r3, #0
3909 0014 C384 strh r3, [r0, #38] @ movhi
2839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3910 .loc 1 2839 3 is_stmt 1 view .LVU1188
2839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3911 .loc 1 2839 22 is_stmt 0 view .LVU1189
3912 0016 C385 strh r3, [r0, #46] @ movhi
2842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3913 .loc 1 2842 3 is_stmt 1 view .LVU1190
2842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3914 .loc 1 2842 20 is_stmt 0 view .LVU1191
3915 0018 C363 str r3, [r0, #60]
2845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3916 .loc 1 2845 3 is_stmt 1 view .LVU1192
2845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3917 .loc 1 2845 18 is_stmt 0 view .LVU1193
3918 001a 2023 movs r3, #32
3919 001c 80F83930 strb r3, [r0, #57]
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3920 .loc 1 2846 3 is_stmt 1 view .LVU1194
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3921 .loc 1 2846 18 is_stmt 0 view .LVU1195
3922 0020 80F83A30 strb r3, [r0, #58]
2854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3923 .loc 1 2854 3 is_stmt 1 view .LVU1196
3924 0024 FFF7FEFF bl HAL_UART_AbortCpltCallback
3925 .LVL297:
3926 .L256:
2856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3927 .loc 1 2856 1 is_stmt 0 view .LVU1197
3928 0028 08BD pop {r3, pc}
3929 .cfi_endproc
3930 .LFE113:
3932 .section .text.UART_DMATxAbortCallback,"ax",%progbits
3933 .align 1
3934 .syntax unified
3935 .thumb
3936 .thumb_func
3937 .fpu softvfp
3939 UART_DMATxAbortCallback:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 144
3940 .LVL298:
3941 .LFB112:
2778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3942 .loc 1 2778 1 is_stmt 1 view -0
3943 .cfi_startproc
3944 @ args = 0, pretend = 0, frame = 0
3945 @ frame_needed = 0, uses_anonymous_args = 0
2778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3946 .loc 1 2778 1 is_stmt 0 view .LVU1199
3947 0000 08B5 push {r3, lr}
3948 .LCFI42:
3949 .cfi_def_cfa_offset 8
3950 .cfi_offset 3, -8
3951 .cfi_offset 14, -4
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3952 .loc 1 2779 3 is_stmt 1 view .LVU1200
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3953 .loc 1 2779 23 is_stmt 0 view .LVU1201
3954 0002 406A ldr r0, [r0, #36]
3955 .LVL299:
2781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3956 .loc 1 2781 3 is_stmt 1 view .LVU1202
2781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3957 .loc 1 2781 8 is_stmt 0 view .LVU1203
3958 0004 036B ldr r3, [r0, #48]
2781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3959 .loc 1 2781 36 view .LVU1204
3960 0006 0022 movs r2, #0
3961 0008 5A63 str r2, [r3, #52]
2784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3962 .loc 1 2784 3 is_stmt 1 view .LVU1205
2784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3963 .loc 1 2784 12 is_stmt 0 view .LVU1206
3964 000a 436B ldr r3, [r0, #52]
2784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3965 .loc 1 2784 6 view .LVU1207
3966 000c 0BB1 cbz r3, .L261
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3967 .loc 1 2786 5 is_stmt 1 view .LVU1208
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3968 .loc 1 2786 22 is_stmt 0 view .LVU1209
3969 000e 5B6B ldr r3, [r3, #52]
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
3970 .loc 1 2786 8 view .LVU1210
3971 0010 53B9 cbnz r3, .L260
3972 .L261:
2793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3973 .loc 1 2793 3 is_stmt 1 view .LVU1211
2793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxXferCount = 0x00U;
3974 .loc 1 2793 22 is_stmt 0 view .LVU1212
3975 0012 0023 movs r3, #0
3976 0014 C384 strh r3, [r0, #38] @ movhi
2794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3977 .loc 1 2794 3 is_stmt 1 view .LVU1213
2794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3978 .loc 1 2794 22 is_stmt 0 view .LVU1214
3979 0016 C385 strh r3, [r0, #46] @ movhi
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 145
2797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3980 .loc 1 2797 3 is_stmt 1 view .LVU1215
2797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3981 .loc 1 2797 20 is_stmt 0 view .LVU1216
3982 0018 C363 str r3, [r0, #60]
2800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3983 .loc 1 2800 3 is_stmt 1 view .LVU1217
2800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** huart->RxState = HAL_UART_STATE_READY;
3984 .loc 1 2800 18 is_stmt 0 view .LVU1218
3985 001a 2023 movs r3, #32
3986 001c 80F83930 strb r3, [r0, #57]
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3987 .loc 1 2801 3 is_stmt 1 view .LVU1219
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3988 .loc 1 2801 18 is_stmt 0 view .LVU1220
3989 0020 80F83A30 strb r3, [r0, #58]
2809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
3990 .loc 1 2809 3 is_stmt 1 view .LVU1221
3991 0024 FFF7FEFF bl HAL_UART_AbortCpltCallback
3992 .LVL300:
3993 .L260:
2811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
3994 .loc 1 2811 1 is_stmt 0 view .LVU1222
3995 0028 08BD pop {r3, pc}
3996 .cfi_endproc
3997 .LFE112:
3999 .section .text.HAL_UART_AbortTransmitCpltCallback,"ax",%progbits
4000 .align 1
4001 .weak HAL_UART_AbortTransmitCpltCallback
4002 .syntax unified
4003 .thumb
4004 .thumb_func
4005 .fpu softvfp
4007 HAL_UART_AbortTransmitCpltCallback:
4008 .LVL301:
4009 .LFB94:
2257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4010 .loc 1 2257 1 is_stmt 1 view -0
4011 .cfi_startproc
4012 @ args = 0, pretend = 0, frame = 0
4013 @ frame_needed = 0, uses_anonymous_args = 0
4014 @ link register save eliminated.
2259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4015 .loc 1 2259 3 view .LVU1224
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4016 .loc 1 2264 1 is_stmt 0 view .LVU1225
4017 0000 7047 bx lr
4018 .cfi_endproc
4019 .LFE94:
4021 .section .text.HAL_UART_AbortTransmit_IT,"ax",%progbits
4022 .align 1
4023 .global HAL_UART_AbortTransmit_IT
4024 .syntax unified
4025 .thumb
4026 .thumb_func
4027 .fpu softvfp
4029 HAL_UART_AbortTransmit_IT:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 146
4030 .LVL302:
4031 .LFB85:
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
4032 .loc 1 1875 1 is_stmt 1 view -0
4033 .cfi_startproc
4034 @ args = 0, pretend = 0, frame = 0
4035 @ frame_needed = 0, uses_anonymous_args = 0
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable TXEIE and TCIE interrupts */
4036 .loc 1 1875 1 is_stmt 0 view .LVU1227
4037 0000 10B5 push {r4, lr}
4038 .LCFI43:
4039 .cfi_def_cfa_offset 8
4040 .cfi_offset 4, -8
4041 .cfi_offset 14, -4
4042 0002 0446 mov r4, r0
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4043 .loc 1 1877 3 is_stmt 1 view .LVU1228
4044 0004 0268 ldr r2, [r0]
4045 0006 D368 ldr r3, [r2, #12]
4046 0008 23F0C003 bic r3, r3, #192
4047 000c D360 str r3, [r2, #12]
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4048 .loc 1 1880 3 view .LVU1229
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4049 .loc 1 1880 7 is_stmt 0 view .LVU1230
4050 000e 0368 ldr r3, [r0]
4051 0010 5A69 ldr r2, [r3, #20]
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4052 .loc 1 1880 6 view .LVU1231
4053 0012 12F0800F tst r2, #128
4054 0016 17D0 beq .L266
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4055 .loc 1 1882 5 is_stmt 1 view .LVU1232
4056 0018 5A69 ldr r2, [r3, #20]
4057 001a 22F08002 bic r2, r2, #128
4058 001e 5A61 str r2, [r3, #20]
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4059 .loc 1 1885 5 view .LVU1233
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4060 .loc 1 1885 14 is_stmt 0 view .LVU1234
4061 0020 036B ldr r3, [r0, #48]
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4062 .loc 1 1885 8 view .LVU1235
4063 0022 4BB1 cbz r3, .L267
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4064 .loc 1 1889 7 is_stmt 1 view .LVU1236
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4065 .loc 1 1889 40 is_stmt 0 view .LVU1237
4066 0024 0D4A ldr r2, .L270
4067 0026 5A63 str r2, [r3, #52]
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4068 .loc 1 1892 7 is_stmt 1 view .LVU1238
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4069 .loc 1 1892 11 is_stmt 0 view .LVU1239
4070 0028 006B ldr r0, [r0, #48]
4071 .LVL303:
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 147
4072 .loc 1 1892 11 view .LVU1240
4073 002a FFF7FEFF bl HAL_DMA_Abort_IT
4074 .LVL304:
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4075 .loc 1 1892 10 view .LVU1241
4076 002e 90B1 cbz r0, .L268
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4077 .loc 1 1895 9 is_stmt 1 view .LVU1242
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4078 .loc 1 1895 14 is_stmt 0 view .LVU1243
4079 0030 206B ldr r0, [r4, #48]
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4080 .loc 1 1895 22 view .LVU1244
4081 0032 436B ldr r3, [r0, #52]
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4082 .loc 1 1895 9 view .LVU1245
4083 0034 9847 blx r3
4084 .LVL305:
4085 0036 0EE0 b .L268
4086 .LVL306:
4087 .L267:
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4088 .loc 1 1901 7 is_stmt 1 view .LVU1246
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4089 .loc 1 1901 26 is_stmt 0 view .LVU1247
4090 0038 0023 movs r3, #0
4091 003a C384 strh r3, [r0, #38] @ movhi
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4092 .loc 1 1904 7 is_stmt 1 view .LVU1248
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4093 .loc 1 1904 21 is_stmt 0 view .LVU1249
4094 003c 2023 movs r3, #32
4095 003e 80F83930 strb r3, [r0, #57]
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4096 .loc 1 1912 7 is_stmt 1 view .LVU1250
4097 0042 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4098 .LVL307:
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4099 .loc 1 1912 7 is_stmt 0 view .LVU1251
4100 0046 06E0 b .L268
4101 .LVL308:
4102 .L266:
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4103 .loc 1 1919 5 is_stmt 1 view .LVU1252
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4104 .loc 1 1919 24 is_stmt 0 view .LVU1253
4105 0048 0023 movs r3, #0
4106 004a C384 strh r3, [r0, #38] @ movhi
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4107 .loc 1 1922 5 is_stmt 1 view .LVU1254
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4108 .loc 1 1922 19 is_stmt 0 view .LVU1255
4109 004c 2023 movs r3, #32
4110 004e 80F83930 strb r3, [r0, #57]
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4111 .loc 1 1930 5 is_stmt 1 view .LVU1256
4112 0052 FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 148
4113 .LVL309:
4114 .L268:
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4115 .loc 1 1934 3 view .LVU1257
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4116 .loc 1 1935 1 is_stmt 0 view .LVU1258
4117 0056 0020 movs r0, #0
4118 0058 10BD pop {r4, pc}
4119 .LVL310:
4120 .L271:
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4121 .loc 1 1935 1 view .LVU1259
4122 005a 00BF .align 2
4123 .L270:
4124 005c 00000000 .word UART_DMATxOnlyAbortCallback
4125 .cfi_endproc
4126 .LFE85:
4128 .section .text.UART_DMATxOnlyAbortCallback,"ax",%progbits
4129 .align 1
4130 .syntax unified
4131 .thumb
4132 .thumb_func
4133 .fpu softvfp
4135 UART_DMATxOnlyAbortCallback:
4136 .LVL311:
4137 .LFB114:
2868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4138 .loc 1 2868 1 is_stmt 1 view -0
4139 .cfi_startproc
4140 @ args = 0, pretend = 0, frame = 0
4141 @ frame_needed = 0, uses_anonymous_args = 0
2868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4142 .loc 1 2868 1 is_stmt 0 view .LVU1261
4143 0000 08B5 push {r3, lr}
4144 .LCFI44:
4145 .cfi_def_cfa_offset 8
4146 .cfi_offset 3, -8
4147 .cfi_offset 14, -4
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4148 .loc 1 2869 3 is_stmt 1 view .LVU1262
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4149 .loc 1 2869 23 is_stmt 0 view .LVU1263
4150 0002 406A ldr r0, [r0, #36]
4151 .LVL312:
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4152 .loc 1 2871 3 is_stmt 1 view .LVU1264
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4153 .loc 1 2871 22 is_stmt 0 view .LVU1265
4154 0004 0023 movs r3, #0
4155 0006 C384 strh r3, [r0, #38] @ movhi
2874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4156 .loc 1 2874 3 is_stmt 1 view .LVU1266
2874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4157 .loc 1 2874 17 is_stmt 0 view .LVU1267
4158 0008 2023 movs r3, #32
4159 000a 80F83930 strb r3, [r0, #57]
2882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 149
4160 .loc 1 2882 3 is_stmt 1 view .LVU1268
4161 000e FFF7FEFF bl HAL_UART_AbortTransmitCpltCallback
4162 .LVL313:
2884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4163 .loc 1 2884 1 is_stmt 0 view .LVU1269
4164 0012 08BD pop {r3, pc}
4165 .cfi_endproc
4166 .LFE114:
4168 .section .text.HAL_UART_AbortReceiveCpltCallback,"ax",%progbits
4169 .align 1
4170 .weak HAL_UART_AbortReceiveCpltCallback
4171 .syntax unified
4172 .thumb
4173 .thumb_func
4174 .fpu softvfp
4176 HAL_UART_AbortReceiveCpltCallback:
4177 .LVL314:
4178 .LFB95:
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Prevent unused argument(s) compilation warning */
4179 .loc 1 2272 1 is_stmt 1 view -0
4180 .cfi_startproc
4181 @ args = 0, pretend = 0, frame = 0
4182 @ frame_needed = 0, uses_anonymous_args = 0
4183 @ link register save eliminated.
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4184 .loc 1 2274 3 view .LVU1271
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4185 .loc 1 2279 1 is_stmt 0 view .LVU1272
4186 0000 7047 bx lr
4187 .cfi_endproc
4188 .LFE95:
4190 .section .text.HAL_UART_AbortReceive_IT,"ax",%progbits
4191 .align 1
4192 .global HAL_UART_AbortReceive_IT
4193 .syntax unified
4194 .thumb
4195 .thumb_func
4196 .fpu softvfp
4198 HAL_UART_AbortReceive_IT:
4199 .LVL315:
4200 .LFB86:
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
4201 .loc 1 1952 1 is_stmt 1 view -0
4202 .cfi_startproc
4203 @ args = 0, pretend = 0, frame = 0
4204 @ frame_needed = 0, uses_anonymous_args = 0
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
4205 .loc 1 1952 1 is_stmt 0 view .LVU1274
4206 0000 10B5 push {r4, lr}
4207 .LCFI45:
4208 .cfi_def_cfa_offset 8
4209 .cfi_offset 4, -8
4210 .cfi_offset 14, -4
4211 0002 0446 mov r4, r0
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
4212 .loc 1 1954 3 is_stmt 1 view .LVU1275
4213 0004 0268 ldr r2, [r0]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 150
4214 0006 D368 ldr r3, [r2, #12]
4215 0008 23F49073 bic r3, r3, #288
4216 000c D360 str r3, [r2, #12]
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4217 .loc 1 1955 3 view .LVU1276
4218 000e 0268 ldr r2, [r0]
4219 0010 5369 ldr r3, [r2, #20]
4220 0012 23F00103 bic r3, r3, #1
4221 0016 5361 str r3, [r2, #20]
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4222 .loc 1 1958 3 view .LVU1277
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4223 .loc 1 1958 7 is_stmt 0 view .LVU1278
4224 0018 0368 ldr r3, [r0]
4225 001a 5A69 ldr r2, [r3, #20]
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4226 .loc 1 1958 6 view .LVU1279
4227 001c 12F0400F tst r2, #64
4228 0020 17D0 beq .L276
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4229 .loc 1 1960 5 is_stmt 1 view .LVU1280
4230 0022 5A69 ldr r2, [r3, #20]
4231 0024 22F04002 bic r2, r2, #64
4232 0028 5A61 str r2, [r3, #20]
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4233 .loc 1 1963 5 view .LVU1281
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4234 .loc 1 1963 14 is_stmt 0 view .LVU1282
4235 002a 436B ldr r3, [r0, #52]
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4236 .loc 1 1963 8 view .LVU1283
4237 002c 4BB1 cbz r3, .L277
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4238 .loc 1 1967 7 is_stmt 1 view .LVU1284
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4239 .loc 1 1967 40 is_stmt 0 view .LVU1285
4240 002e 0D4A ldr r2, .L280
4241 0030 5A63 str r2, [r3, #52]
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4242 .loc 1 1970 7 is_stmt 1 view .LVU1286
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4243 .loc 1 1970 11 is_stmt 0 view .LVU1287
4244 0032 406B ldr r0, [r0, #52]
4245 .LVL316:
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4246 .loc 1 1970 11 view .LVU1288
4247 0034 FFF7FEFF bl HAL_DMA_Abort_IT
4248 .LVL317:
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** {
4249 .loc 1 1970 10 view .LVU1289
4250 0038 90B1 cbz r0, .L278
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4251 .loc 1 1973 9 is_stmt 1 view .LVU1290
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4252 .loc 1 1973 14 is_stmt 0 view .LVU1291
4253 003a 606B ldr r0, [r4, #52]
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 151
4254 .loc 1 1973 22 view .LVU1292
4255 003c 436B ldr r3, [r0, #52]
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4256 .loc 1 1973 9 view .LVU1293
4257 003e 9847 blx r3
4258 .LVL318:
4259 0040 0EE0 b .L278
4260 .LVL319:
4261 .L277:
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4262 .loc 1 1979 7 is_stmt 1 view .LVU1294
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4263 .loc 1 1979 26 is_stmt 0 view .LVU1295
4264 0042 0023 movs r3, #0
4265 0044 C385 strh r3, [r0, #46] @ movhi
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4266 .loc 1 1982 7 is_stmt 1 view .LVU1296
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4267 .loc 1 1982 22 is_stmt 0 view .LVU1297
4268 0046 2023 movs r3, #32
4269 0048 80F83A30 strb r3, [r0, #58]
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4270 .loc 1 1990 7 is_stmt 1 view .LVU1298
4271 004c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4272 .LVL320:
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4273 .loc 1 1990 7 is_stmt 0 view .LVU1299
4274 0050 06E0 b .L278
4275 .LVL321:
4276 .L276:
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4277 .loc 1 1997 5 is_stmt 1 view .LVU1300
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4278 .loc 1 1997 24 is_stmt 0 view .LVU1301
4279 0052 0023 movs r3, #0
4280 0054 C385 strh r3, [r0, #46] @ movhi
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4281 .loc 1 2000 5 is_stmt 1 view .LVU1302
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4282 .loc 1 2000 20 is_stmt 0 view .LVU1303
4283 0056 2023 movs r3, #32
4284 0058 80F83A30 strb r3, [r0, #58]
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4285 .loc 1 2008 5 is_stmt 1 view .LVU1304
4286 005c FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4287 .LVL322:
4288 .L278:
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4289 .loc 1 2012 3 view .LVU1305
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4290 .loc 1 2013 1 is_stmt 0 view .LVU1306
4291 0060 0020 movs r0, #0
4292 0062 10BD pop {r4, pc}
4293 .LVL323:
4294 .L281:
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4295 .loc 1 2013 1 view .LVU1307
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 152
4296 .align 2
4297 .L280:
4298 0064 00000000 .word UART_DMARxOnlyAbortCallback
4299 .cfi_endproc
4300 .LFE86:
4302 .section .text.UART_DMARxOnlyAbortCallback,"ax",%progbits
4303 .align 1
4304 .syntax unified
4305 .thumb
4306 .thumb_func
4307 .fpu softvfp
4309 UART_DMARxOnlyAbortCallback:
4310 .LVL324:
4311 .LFB115:
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4312 .loc 1 2896 1 is_stmt 1 view -0
4313 .cfi_startproc
4314 @ args = 0, pretend = 0, frame = 0
4315 @ frame_needed = 0, uses_anonymous_args = 0
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** UART_HandleTypeDef *huart = (UART_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
4316 .loc 1 2896 1 is_stmt 0 view .LVU1309
4317 0000 08B5 push {r3, lr}
4318 .LCFI46:
4319 .cfi_def_cfa_offset 8
4320 .cfi_offset 3, -8
4321 .cfi_offset 14, -4
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4322 .loc 1 2897 3 is_stmt 1 view .LVU1310
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4323 .loc 1 2897 23 is_stmt 0 view .LVU1311
4324 0002 406A ldr r0, [r0, #36]
4325 .LVL325:
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4326 .loc 1 2899 3 is_stmt 1 view .LVU1312
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4327 .loc 1 2899 22 is_stmt 0 view .LVU1313
4328 0004 0023 movs r3, #0
4329 0006 C385 strh r3, [r0, #46] @ movhi
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4330 .loc 1 2902 3 is_stmt 1 view .LVU1314
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4331 .loc 1 2902 18 is_stmt 0 view .LVU1315
4332 0008 2023 movs r3, #32
4333 000a 80F83A30 strb r3, [r0, #58]
2910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
4334 .loc 1 2910 3 is_stmt 1 view .LVU1316
4335 000e FFF7FEFF bl HAL_UART_AbortReceiveCpltCallback
4336 .LVL326:
2912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4337 .loc 1 2912 1 is_stmt 0 view .LVU1317
4338 0012 08BD pop {r3, pc}
4339 .cfi_endproc
4340 .LFE115:
4342 .section .text.HAL_LIN_SendBreak,"ax",%progbits
4343 .align 1
4344 .global HAL_LIN_SendBreak
4345 .syntax unified
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 153
4346 .thumb
4347 .thumb_func
4348 .fpu softvfp
4350 HAL_LIN_SendBreak:
4351 .LVL327:
4352 .LFB96:
2311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
4353 .loc 1 2311 1 is_stmt 1 view -0
4354 .cfi_startproc
4355 @ args = 0, pretend = 0, frame = 0
4356 @ frame_needed = 0, uses_anonymous_args = 0
4357 @ link register save eliminated.
2313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4358 .loc 1 2313 3 view .LVU1319
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4359 .loc 1 2316 3 view .LVU1320
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4360 .loc 1 2316 3 view .LVU1321
4361 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4362 0004 012B cmp r3, #1
4363 0006 12D0 beq .L286
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4364 .loc 1 2316 3 discriminator 2 view .LVU1322
4365 0008 0123 movs r3, #1
4366 000a 80F83830 strb r3, [r0, #56]
2318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4367 .loc 1 2318 3 discriminator 2 view .LVU1323
2318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4368 .loc 1 2318 17 is_stmt 0 discriminator 2 view .LVU1324
4369 000e 2423 movs r3, #36
4370 0010 80F83930 strb r3, [r0, #57]
2321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4371 .loc 1 2321 3 is_stmt 1 discriminator 2 view .LVU1325
4372 0014 0268 ldr r2, [r0]
4373 0016 D368 ldr r3, [r2, #12]
4374 0018 43F00103 orr r3, r3, #1
4375 001c D360 str r3, [r2, #12]
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4376 .loc 1 2323 3 discriminator 2 view .LVU1326
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4377 .loc 1 2323 17 is_stmt 0 discriminator 2 view .LVU1327
4378 001e 2023 movs r3, #32
4379 0020 80F83930 strb r3, [r0, #57]
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4380 .loc 1 2326 3 is_stmt 1 discriminator 2 view .LVU1328
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4381 .loc 1 2326 3 discriminator 2 view .LVU1329
4382 0024 0023 movs r3, #0
4383 0026 80F83830 strb r3, [r0, #56]
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4384 .loc 1 2328 3 discriminator 2 view .LVU1330
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4385 .loc 1 2328 10 is_stmt 0 discriminator 2 view .LVU1331
4386 002a 1846 mov r0, r3
4387 .LVL328:
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4388 .loc 1 2328 10 discriminator 2 view .LVU1332
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 154
4389 002c 7047 bx lr
4390 .LVL329:
4391 .L286:
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4392 .loc 1 2316 3 view .LVU1333
4393 002e 0220 movs r0, #2
4394 .LVL330:
2329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4395 .loc 1 2329 1 view .LVU1334
4396 0030 7047 bx lr
4397 .cfi_endproc
4398 .LFE96:
4400 .section .text.HAL_MultiProcessor_EnterMuteMode,"ax",%progbits
4401 .align 1
4402 .global HAL_MultiProcessor_EnterMuteMode
4403 .syntax unified
4404 .thumb
4405 .thumb_func
4406 .fpu softvfp
4408 HAL_MultiProcessor_EnterMuteMode:
4409 .LVL331:
4410 .LFB97:
2338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
4411 .loc 1 2338 1 is_stmt 1 view -0
4412 .cfi_startproc
4413 @ args = 0, pretend = 0, frame = 0
4414 @ frame_needed = 0, uses_anonymous_args = 0
4415 @ link register save eliminated.
2340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4416 .loc 1 2340 3 view .LVU1336
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4417 .loc 1 2343 3 view .LVU1337
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4418 .loc 1 2343 3 view .LVU1338
4419 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4420 0004 012B cmp r3, #1
4421 0006 12D0 beq .L289
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4422 .loc 1 2343 3 discriminator 2 view .LVU1339
4423 0008 0123 movs r3, #1
4424 000a 80F83830 strb r3, [r0, #56]
2345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4425 .loc 1 2345 3 discriminator 2 view .LVU1340
2345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4426 .loc 1 2345 17 is_stmt 0 discriminator 2 view .LVU1341
4427 000e 2423 movs r3, #36
4428 0010 80F83930 strb r3, [r0, #57]
2348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4429 .loc 1 2348 3 is_stmt 1 discriminator 2 view .LVU1342
4430 0014 0268 ldr r2, [r0]
4431 0016 D368 ldr r3, [r2, #12]
4432 0018 43F00203 orr r3, r3, #2
4433 001c D360 str r3, [r2, #12]
2350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4434 .loc 1 2350 3 discriminator 2 view .LVU1343
2350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4435 .loc 1 2350 17 is_stmt 0 discriminator 2 view .LVU1344
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 155
4436 001e 2023 movs r3, #32
4437 0020 80F83930 strb r3, [r0, #57]
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4438 .loc 1 2353 3 is_stmt 1 discriminator 2 view .LVU1345
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4439 .loc 1 2353 3 discriminator 2 view .LVU1346
4440 0024 0023 movs r3, #0
4441 0026 80F83830 strb r3, [r0, #56]
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4442 .loc 1 2355 3 discriminator 2 view .LVU1347
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4443 .loc 1 2355 10 is_stmt 0 discriminator 2 view .LVU1348
4444 002a 1846 mov r0, r3
4445 .LVL332:
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4446 .loc 1 2355 10 discriminator 2 view .LVU1349
4447 002c 7047 bx lr
4448 .LVL333:
4449 .L289:
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4450 .loc 1 2343 3 view .LVU1350
4451 002e 0220 movs r0, #2
4452 .LVL334:
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4453 .loc 1 2356 1 view .LVU1351
4454 0030 7047 bx lr
4455 .cfi_endproc
4456 .LFE97:
4458 .section .text.HAL_MultiProcessor_ExitMuteMode,"ax",%progbits
4459 .align 1
4460 .global HAL_MultiProcessor_ExitMuteMode
4461 .syntax unified
4462 .thumb
4463 .thumb_func
4464 .fpu softvfp
4466 HAL_MultiProcessor_ExitMuteMode:
4467 .LVL335:
4468 .LFB98:
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** /* Check the parameters */
4469 .loc 1 2365 1 is_stmt 1 view -0
4470 .cfi_startproc
4471 @ args = 0, pretend = 0, frame = 0
4472 @ frame_needed = 0, uses_anonymous_args = 0
4473 @ link register save eliminated.
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4474 .loc 1 2367 3 view .LVU1353
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4475 .loc 1 2370 3 view .LVU1354
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4476 .loc 1 2370 3 view .LVU1355
4477 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4478 0004 012B cmp r3, #1
4479 0006 12D0 beq .L292
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4480 .loc 1 2370 3 discriminator 2 view .LVU1356
4481 0008 0123 movs r3, #1
4482 000a 80F83830 strb r3, [r0, #56]
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 156
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4483 .loc 1 2372 3 discriminator 2 view .LVU1357
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4484 .loc 1 2372 17 is_stmt 0 discriminator 2 view .LVU1358
4485 000e 2423 movs r3, #36
4486 0010 80F83930 strb r3, [r0, #57]
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4487 .loc 1 2375 3 is_stmt 1 discriminator 2 view .LVU1359
4488 0014 0268 ldr r2, [r0]
4489 0016 D368 ldr r3, [r2, #12]
4490 0018 23F00203 bic r3, r3, #2
4491 001c D360 str r3, [r2, #12]
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4492 .loc 1 2377 3 discriminator 2 view .LVU1360
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4493 .loc 1 2377 17 is_stmt 0 discriminator 2 view .LVU1361
4494 001e 2023 movs r3, #32
4495 0020 80F83930 strb r3, [r0, #57]
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4496 .loc 1 2380 3 is_stmt 1 discriminator 2 view .LVU1362
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4497 .loc 1 2380 3 discriminator 2 view .LVU1363
4498 0024 0023 movs r3, #0
4499 0026 80F83830 strb r3, [r0, #56]
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4500 .loc 1 2382 3 discriminator 2 view .LVU1364
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4501 .loc 1 2382 10 is_stmt 0 discriminator 2 view .LVU1365
4502 002a 1846 mov r0, r3
4503 .LVL336:
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4504 .loc 1 2382 10 discriminator 2 view .LVU1366
4505 002c 7047 bx lr
4506 .LVL337:
4507 .L292:
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4508 .loc 1 2370 3 view .LVU1367
4509 002e 0220 movs r0, #2
4510 .LVL338:
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4511 .loc 1 2383 1 view .LVU1368
4512 0030 7047 bx lr
4513 .cfi_endproc
4514 .LFE98:
4516 .section .text.HAL_HalfDuplex_EnableTransmitter,"ax",%progbits
4517 .align 1
4518 .global HAL_HalfDuplex_EnableTransmitter
4519 .syntax unified
4520 .thumb
4521 .thumb_func
4522 .fpu softvfp
4524 HAL_HalfDuplex_EnableTransmitter:
4525 .LVL339:
4526 .LFB99:
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
4527 .loc 1 2392 1 is_stmt 1 view -0
4528 .cfi_startproc
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 157
4529 @ args = 0, pretend = 0, frame = 0
4530 @ frame_needed = 0, uses_anonymous_args = 0
4531 @ link register save eliminated.
2393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4532 .loc 1 2393 3 view .LVU1370
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4533 .loc 1 2396 3 view .LVU1371
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4534 .loc 1 2396 3 view .LVU1372
4535 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4536 0004 012B cmp r3, #1
4537 0006 14D0 beq .L295
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4538 .loc 1 2396 3 discriminator 2 view .LVU1373
4539 0008 0123 movs r3, #1
4540 000a 80F83830 strb r3, [r0, #56]
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4541 .loc 1 2398 3 discriminator 2 view .LVU1374
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4542 .loc 1 2398 17 is_stmt 0 discriminator 2 view .LVU1375
4543 000e 2423 movs r3, #36
4544 0010 80F83930 strb r3, [r0, #57]
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4545 .loc 1 2401 3 is_stmt 1 discriminator 2 view .LVU1376
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4546 .loc 1 2401 17 is_stmt 0 discriminator 2 view .LVU1377
4547 0014 0268 ldr r2, [r0]
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4548 .loc 1 2401 10 discriminator 2 view .LVU1378
4549 0016 D368 ldr r3, [r2, #12]
4550 .LVL340:
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4551 .loc 1 2404 3 is_stmt 1 discriminator 2 view .LVU1379
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4552 .loc 1 2404 10 is_stmt 0 discriminator 2 view .LVU1380
4553 0018 23F00C03 bic r3, r3, #12
4554 .LVL341:
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4555 .loc 1 2407 3 is_stmt 1 discriminator 2 view .LVU1381
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4556 .loc 1 2407 10 is_stmt 0 discriminator 2 view .LVU1382
4557 001c 43F00803 orr r3, r3, #8
4558 .LVL342:
2410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4559 .loc 1 2410 3 is_stmt 1 discriminator 2 view .LVU1383
4560 0020 D360 str r3, [r2, #12]
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4561 .loc 1 2412 3 discriminator 2 view .LVU1384
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4562 .loc 1 2412 17 is_stmt 0 discriminator 2 view .LVU1385
4563 0022 2023 movs r3, #32
4564 .LVL343:
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4565 .loc 1 2412 17 discriminator 2 view .LVU1386
4566 0024 80F83930 strb r3, [r0, #57]
4567 .LVL344:
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 158
4568 .loc 1 2415 3 is_stmt 1 discriminator 2 view .LVU1387
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4569 .loc 1 2415 3 discriminator 2 view .LVU1388
4570 0028 0023 movs r3, #0
4571 002a 80F83830 strb r3, [r0, #56]
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4572 .loc 1 2417 3 discriminator 2 view .LVU1389
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4573 .loc 1 2417 10 is_stmt 0 discriminator 2 view .LVU1390
4574 002e 1846 mov r0, r3
4575 .LVL345:
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4576 .loc 1 2417 10 discriminator 2 view .LVU1391
4577 0030 7047 bx lr
4578 .LVL346:
4579 .L295:
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4580 .loc 1 2396 3 view .LVU1392
4581 0032 0220 movs r0, #2
4582 .LVL347:
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4583 .loc 1 2418 1 view .LVU1393
4584 0034 7047 bx lr
4585 .cfi_endproc
4586 .LFE99:
4588 .section .text.HAL_HalfDuplex_EnableReceiver,"ax",%progbits
4589 .align 1
4590 .global HAL_HalfDuplex_EnableReceiver
4591 .syntax unified
4592 .thumb
4593 .thumb_func
4594 .fpu softvfp
4596 HAL_HalfDuplex_EnableReceiver:
4597 .LVL348:
4598 .LFB100:
2427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t tmpreg = 0x00U;
4599 .loc 1 2427 1 is_stmt 1 view -0
4600 .cfi_startproc
4601 @ args = 0, pretend = 0, frame = 0
4602 @ frame_needed = 0, uses_anonymous_args = 0
4603 @ link register save eliminated.
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4604 .loc 1 2428 3 view .LVU1395
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4605 .loc 1 2431 3 view .LVU1396
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4606 .loc 1 2431 3 view .LVU1397
4607 0000 90F83830 ldrb r3, [r0, #56] @ zero_extendqisi2
4608 0004 012B cmp r3, #1
4609 0006 14D0 beq .L298
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4610 .loc 1 2431 3 discriminator 2 view .LVU1398
4611 0008 0123 movs r3, #1
4612 000a 80F83830 strb r3, [r0, #56]
2433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4613 .loc 1 2433 3 discriminator 2 view .LVU1399
2433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 159
4614 .loc 1 2433 17 is_stmt 0 discriminator 2 view .LVU1400
4615 000e 2423 movs r3, #36
4616 0010 80F83930 strb r3, [r0, #57]
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4617 .loc 1 2436 3 is_stmt 1 discriminator 2 view .LVU1401
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4618 .loc 1 2436 17 is_stmt 0 discriminator 2 view .LVU1402
4619 0014 0268 ldr r2, [r0]
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4620 .loc 1 2436 10 discriminator 2 view .LVU1403
4621 0016 D368 ldr r3, [r2, #12]
4622 .LVL349:
2439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4623 .loc 1 2439 3 is_stmt 1 discriminator 2 view .LVU1404
2439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4624 .loc 1 2439 10 is_stmt 0 discriminator 2 view .LVU1405
4625 0018 23F00C03 bic r3, r3, #12
4626 .LVL350:
2442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4627 .loc 1 2442 3 is_stmt 1 discriminator 2 view .LVU1406
2442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4628 .loc 1 2442 10 is_stmt 0 discriminator 2 view .LVU1407
4629 001c 43F00403 orr r3, r3, #4
4630 .LVL351:
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4631 .loc 1 2445 3 is_stmt 1 discriminator 2 view .LVU1408
4632 0020 D360 str r3, [r2, #12]
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4633 .loc 1 2447 3 discriminator 2 view .LVU1409
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4634 .loc 1 2447 17 is_stmt 0 discriminator 2 view .LVU1410
4635 0022 2023 movs r3, #32
4636 .LVL352:
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4637 .loc 1 2447 17 discriminator 2 view .LVU1411
4638 0024 80F83930 strb r3, [r0, #57]
4639 .LVL353:
2450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4640 .loc 1 2450 3 is_stmt 1 discriminator 2 view .LVU1412
2450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4641 .loc 1 2450 3 discriminator 2 view .LVU1413
4642 0028 0023 movs r3, #0
4643 002a 80F83830 strb r3, [r0, #56]
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4644 .loc 1 2452 3 discriminator 2 view .LVU1414
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4645 .loc 1 2452 10 is_stmt 0 discriminator 2 view .LVU1415
4646 002e 1846 mov r0, r3
4647 .LVL354:
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4648 .loc 1 2452 10 discriminator 2 view .LVU1416
4649 0030 7047 bx lr
4650 .LVL355:
4651 .L298:
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4652 .loc 1 2431 3 view .LVU1417
4653 0032 0220 movs r0, #2
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 160
4654 .LVL356:
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4655 .loc 1 2453 1 view .LVU1418
4656 0034 7047 bx lr
4657 .cfi_endproc
4658 .LFE100:
4660 .section .text.HAL_UART_GetState,"ax",%progbits
4661 .align 1
4662 .global HAL_UART_GetState
4663 .syntax unified
4664 .thumb
4665 .thumb_func
4666 .fpu softvfp
4668 HAL_UART_GetState:
4669 .LVL357:
4670 .LFB101:
2484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** uint32_t temp1 = 0x00U, temp2 = 0x00U;
4671 .loc 1 2484 1 is_stmt 1 view -0
4672 .cfi_startproc
4673 @ args = 0, pretend = 0, frame = 0
4674 @ frame_needed = 0, uses_anonymous_args = 0
4675 @ link register save eliminated.
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** temp1 = huart->gState;
4676 .loc 1 2485 3 view .LVU1420
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** temp2 = huart->RxState;
4677 .loc 1 2486 3 view .LVU1421
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** temp2 = huart->RxState;
4678 .loc 1 2486 16 is_stmt 0 view .LVU1422
4679 0000 90F83930 ldrb r3, [r0, #57] @ zero_extendqisi2
4680 .LVL358:
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4681 .loc 1 2487 3 is_stmt 1 view .LVU1423
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4682 .loc 1 2487 16 is_stmt 0 view .LVU1424
4683 0004 90F83A00 ldrb r0, [r0, #58] @ zero_extendqisi2
4684 .LVL359:
2489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4685 .loc 1 2489 3 is_stmt 1 view .LVU1425
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4686 .loc 1 2490 1 is_stmt 0 view .LVU1426
4687 0008 1843 orrs r0, r0, r3
4688 .LVL360:
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4689 .loc 1 2490 1 view .LVU1427
4690 000a 7047 bx lr
4691 .cfi_endproc
4692 .LFE101:
4694 .section .text.HAL_UART_GetError,"ax",%progbits
4695 .align 1
4696 .global HAL_UART_GetError
4697 .syntax unified
4698 .thumb
4699 .thumb_func
4700 .fpu softvfp
4702 HAL_UART_GetError:
4703 .LVL361:
4704 .LFB102:
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 161
2499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** return huart->ErrorCode;
4705 .loc 1 2499 1 is_stmt 1 view -0
4706 .cfi_startproc
4707 @ args = 0, pretend = 0, frame = 0
4708 @ frame_needed = 0, uses_anonymous_args = 0
4709 @ link register save eliminated.
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4710 .loc 1 2500 3 view .LVU1429
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c **** }
4711 .loc 1 2500 15 is_stmt 0 view .LVU1430
4712 0000 C06B ldr r0, [r0, #60]
4713 .LVL362:
2501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c ****
4714 .loc 1 2501 1 view .LVU1431
4715 0002 7047 bx lr
4716 .cfi_endproc
4717 .LFE102:
4719 .text
4720 .Letext0:
4721 .file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
4722 .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
4723 .file 4 "Drivers/CMSIS/Include/core_cm3.h"
4724 .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
4725 .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
4726 .file 7 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h"
4727 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
4728 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
4729 .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h"
4730 .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
4731 .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h"
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 162
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f1xx_hal_uart.c
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:16 .text.UART_EndTxTransfer:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:23 .text.UART_EndTxTransfer:0000000000000000 UART_EndTxTransfer
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:47 .text.UART_EndRxTransfer:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:53 .text.UART_EndRxTransfer:0000000000000000 UART_EndRxTransfer
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:81 .text.UART_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:87 .text.UART_Transmit_IT:0000000000000000 UART_Transmit_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:194 .text.UART_SetConfig:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:200 .text.UART_SetConfig:0000000000000000 UART_SetConfig
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:335 .text.UART_SetConfig:00000000000000c4 $d
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:341 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:347 .text.UART_WaitOnFlagUntilTimeout:0000000000000000 UART_WaitOnFlagUntilTimeout
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:435 .text.HAL_UART_MspInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:442 .text.HAL_UART_MspInit:0000000000000000 HAL_UART_MspInit
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:457 .text.HAL_UART_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:464 .text.HAL_UART_Init:0000000000000000 HAL_UART_Init
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:558 .text.HAL_HalfDuplex_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:565 .text.HAL_HalfDuplex_Init:0000000000000000 HAL_HalfDuplex_Init
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:664 .text.HAL_LIN_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:671 .text.HAL_LIN_Init:0000000000000000 HAL_LIN_Init
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:789 .text.HAL_MultiProcessor_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:796 .text.HAL_MultiProcessor_Init:0000000000000000 HAL_MultiProcessor_Init
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:919 .text.HAL_UART_MspDeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:926 .text.HAL_UART_MspDeInit:0000000000000000 HAL_UART_MspDeInit
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:941 .text.HAL_UART_DeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:948 .text.HAL_UART_DeInit:0000000000000000 HAL_UART_DeInit
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1009 .text.HAL_UART_Transmit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1016 .text.HAL_UART_Transmit:0000000000000000 HAL_UART_Transmit
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1242 .text.HAL_UART_Receive:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1249 .text.HAL_UART_Receive:0000000000000000 HAL_UART_Receive
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1493 .text.HAL_UART_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1500 .text.HAL_UART_Transmit_IT:0000000000000000 HAL_UART_Transmit_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1594 .text.HAL_UART_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1601 .text.HAL_UART_Receive_IT:0000000000000000 HAL_UART_Receive_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1705 .text.HAL_UART_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1712 .text.HAL_UART_Transmit_DMA:0000000000000000 HAL_UART_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1854 .text.HAL_UART_Transmit_DMA:0000000000000080 $d
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2739 .text.UART_DMATransmitCplt:0000000000000000 UART_DMATransmitCplt
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2865 .text.UART_DMATxHalfCplt:0000000000000000 UART_DMATxHalfCplt
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3227 .text.UART_DMAError:0000000000000000 UART_DMAError
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1861 .text.HAL_UART_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:1868 .text.HAL_UART_Receive_DMA:0000000000000000 HAL_UART_Receive_DMA
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2038 .text.HAL_UART_Receive_DMA:000000000000009c $d
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2920 .text.UART_DMAReceiveCplt:0000000000000000 UART_DMAReceiveCplt
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3172 .text.UART_DMARxHalfCplt:0000000000000000 UART_DMARxHalfCplt
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2045 .text.HAL_UART_DMAPause:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2052 .text.HAL_UART_DMAPause:0000000000000000 HAL_UART_DMAPause
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2152 .text.HAL_UART_DMAResume:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2159 .text.HAL_UART_DMAResume:0000000000000000 HAL_UART_DMAResume
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2267 .text.HAL_UART_DMAStop:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2274 .text.HAL_UART_DMAStop:0000000000000000 HAL_UART_DMAStop
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2377 .text.HAL_UART_Abort:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2384 .text.HAL_UART_Abort:0000000000000000 HAL_UART_Abort
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2526 .text.HAL_UART_AbortTransmit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2533 .text.HAL_UART_AbortTransmit:0000000000000000 HAL_UART_AbortTransmit
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2616 .text.HAL_UART_AbortReceive:0000000000000000 $t
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 163
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2623 .text.HAL_UART_AbortReceive:0000000000000000 HAL_UART_AbortReceive
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2711 .text.HAL_UART_TxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2718 .text.HAL_UART_TxCpltCallback:0000000000000000 HAL_UART_TxCpltCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2733 .text.UART_DMATransmitCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2798 .text.UART_EndTransmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2804 .text.UART_EndTransmit_IT:0000000000000000 UART_EndTransmit_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2837 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2844 .text.HAL_UART_TxHalfCpltCallback:0000000000000000 HAL_UART_TxHalfCpltCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2859 .text.UART_DMATxHalfCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2892 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2899 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2914 .text.UART_DMAReceiveCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2981 .text.UART_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:2987 .text.UART_Receive_IT:0000000000000000 UART_Receive_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3144 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3151 .text.HAL_UART_RxHalfCpltCallback:0000000000000000 HAL_UART_RxHalfCpltCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3166 .text.UART_DMARxHalfCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3199 .text.HAL_UART_ErrorCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3206 .text.HAL_UART_ErrorCallback:0000000000000000 HAL_UART_ErrorCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3221 .text.UART_DMAError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3324 .text.HAL_UART_IRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3331 .text.HAL_UART_IRQHandler:0000000000000000 HAL_UART_IRQHandler
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3597 .text.HAL_UART_IRQHandler:000000000000011c $d
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3608 .text.UART_DMAAbortOnError:0000000000000000 UART_DMAAbortOnError
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3602 .text.UART_DMAAbortOnError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3641 .text.HAL_UART_AbortCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3648 .text.HAL_UART_AbortCpltCallback:0000000000000000 HAL_UART_AbortCpltCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3663 .text.HAL_UART_Abort_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3670 .text.HAL_UART_Abort_IT:0000000000000000 HAL_UART_Abort_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3860 .text.HAL_UART_Abort_IT:00000000000000bc $d
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3939 .text.UART_DMATxAbortCallback:0000000000000000 UART_DMATxAbortCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3872 .text.UART_DMARxAbortCallback:0000000000000000 UART_DMARxAbortCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3866 .text.UART_DMARxAbortCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:3933 .text.UART_DMATxAbortCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4000 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4007 .text.HAL_UART_AbortTransmitCpltCallback:0000000000000000 HAL_UART_AbortTransmitCpltCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4022 .text.HAL_UART_AbortTransmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4029 .text.HAL_UART_AbortTransmit_IT:0000000000000000 HAL_UART_AbortTransmit_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4124 .text.HAL_UART_AbortTransmit_IT:000000000000005c $d
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4135 .text.UART_DMATxOnlyAbortCallback:0000000000000000 UART_DMATxOnlyAbortCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4129 .text.UART_DMATxOnlyAbortCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4169 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4176 .text.HAL_UART_AbortReceiveCpltCallback:0000000000000000 HAL_UART_AbortReceiveCpltCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4191 .text.HAL_UART_AbortReceive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4198 .text.HAL_UART_AbortReceive_IT:0000000000000000 HAL_UART_AbortReceive_IT
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4298 .text.HAL_UART_AbortReceive_IT:0000000000000064 $d
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4309 .text.UART_DMARxOnlyAbortCallback:0000000000000000 UART_DMARxOnlyAbortCallback
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4303 .text.UART_DMARxOnlyAbortCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4343 .text.HAL_LIN_SendBreak:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4350 .text.HAL_LIN_SendBreak:0000000000000000 HAL_LIN_SendBreak
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4401 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4408 .text.HAL_MultiProcessor_EnterMuteMode:0000000000000000 HAL_MultiProcessor_EnterMuteMode
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4459 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4466 .text.HAL_MultiProcessor_ExitMuteMode:0000000000000000 HAL_MultiProcessor_ExitMuteMode
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4517 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4524 .text.HAL_HalfDuplex_EnableTransmitter:0000000000000000 HAL_HalfDuplex_EnableTransmitter
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4589 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 $t
ARM GAS C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s page 164
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4596 .text.HAL_HalfDuplex_EnableReceiver:0000000000000000 HAL_HalfDuplex_EnableReceiver
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4661 .text.HAL_UART_GetState:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4668 .text.HAL_UART_GetState:0000000000000000 HAL_UART_GetState
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4695 .text.HAL_UART_GetError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc6NiRBb.s:4702 .text.HAL_UART_GetError:0000000000000000 HAL_UART_GetError
UNDEFINED SYMBOLS
HAL_RCC_GetPCLK1Freq
HAL_RCC_GetPCLK2Freq
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
HAL_DMA_Abort_IT