📄 stm32f10x_usart.lst
字号:
367:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** uint32_t usartxbase = 0x00;
368:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
369:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_ALL_PERIPH(USARTx));
370:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_CONFIG_IT(USART_IT));
371:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_PERIPH_IT(USARTx, USART_IT)); /* The CTS interrupt is not available for UAR
372:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
373:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase = (*(uint32_t*)&(USARTx));
374:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Get the USART register index */
375:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartreg = (((uint8_t)USART_IT) >> 0x05);
170 .loc 1 375 0
171 0000 C1F3421C ubfx ip, r1, #5, #3
172 .LVL7:
376:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Get the interrupt position */
377:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itpos = USART_IT & IT_Mask;
378:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** itmask = (((uint32_t)0x01) << itpos);
173 .loc 1 378 0
174 0004 0123 movs r3, #1
175 0006 01F01F01 and r1, r1, #31
176 .LVL8:
177 .loc 1 365 0
178 000a 82B0 sub sp, sp, #8
179 .LCFI1:
180 .loc 1 378 0
181 000c 13FA01F1 lsls r1, r3, r1
182 .LVL9:
379:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
380:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (usartreg == 0x01) /* The IT is in CR1 register */
183 .loc 1 380 0
184 0010 9C45 cmp ip, r3
185 .loc 1 365 0
186 0012 0190 str r0, [sp, #4]
187 .loc 1 380 0
188 0014 01D1 bne .L13
189 .LVL10:
381:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
382:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase += 0x0C;
190 .loc 1 382 0
191 0016 0C30 adds r0, r0, #12
192 .LVL11:
193 0018 05E0 b .L14
194 .LVL12:
195 .L13:
383:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
384:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else if (usartreg == 0x02) /* The IT is in CR2 register */
196 .loc 1 384 0
197 001a BCF1020F cmp ip, #2
198 001e 01D1 bne .L15
385:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
386:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase += 0x10;
199 .loc 1 386 0
200 0020 1030 adds r0, r0, #16
201 .LVL13:
202 0022 00E0 b .L14
203 .LVL14:
204 .L15:
387:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
388:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else /* The IT is in CR3 register */
389:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
390:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** usartxbase += 0x14;
205 .loc 1 390 0
206 0024 1430 adds r0, r0, #20
207 .LVL15:
208 .L14:
391:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
392:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
209 .loc 1 392 0
210 0026 12B1 cbz r2, .L16
393:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
394:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *(__IO uint32_t*)usartxbase |= itmask;
211 .loc 1 394 0
212 0028 0368 ldr r3, [r0, #0]
213 002a 0B43 orrs r3, r3, r1
214 002c 02E0 b .L19
215 .L16:
395:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
396:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
397:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
398:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** *(__IO uint32_t*)usartxbase &= ~itmask;
216 .loc 1 398 0
217 002e 0368 ldr r3, [r0, #0]
218 0030 23EA0103 bic r3, r3, r1
219 .L19:
220 0034 0360 str r3, [r0, #0]
399:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
400:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
221 .loc 1 400 0
222 0036 02B0 add sp, sp, #8
223 0038 7047 bx lr
224 .LFE32:
226 003a C046 .section .text.USART_DMACmd,"ax",%progbits
227 .align 2
228 .global USART_DMACmd
229 .thumb
230 .thumb_func
232 USART_DMACmd:
233 .LFB33:
401:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
402:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
403:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Enables or disables the USART抯 DMA interface.
404:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
405:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
406:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3 or UART4.
407:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_DMAReq: specifies the DMA request.
408:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be any combination of the following values:
409:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_DMAReq_Tx: USART DMA transmit request
410:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @arg USART_DMAReq_Rx: USART DMA receive request
411:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param NewState: new state of the DMA Request sources.
412:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be: ENABLE or DISABLE.
413:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @note The DMA mode is not available for UART5.
414:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval : None
415:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
416:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_DMACmd(USART_TypeDef* USARTx, uint16_t USART_DMAReq, FunctionalState NewState)
417:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
234 .loc 1 417 0
235 @ args = 0, pretend = 0, frame = 0
236 @ frame_needed = 0, uses_anonymous_args = 0
237 @ link register save eliminated.
238 .LVL16:
418:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Check the parameters */
419:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_1234_PERIPH(USARTx));
420:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_USART_DMAREQ(USART_DMAReq));
421:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
422:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** if (NewState != DISABLE)
239 .loc 1 422 0
240 0000 22B1 cbz r2, .L21
423:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
424:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Enable the DMA transfer for selected requests by setting the DMAT and/or
425:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** DMAR bits in the USART CR3 register */
426:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 |= USART_DMAReq;
241 .loc 1 426 0
242 0002 838A ldrh r3, [r0, #20]
243 0004 9BB2 uxth r3, r3
244 0006 41EA0303 orr r3, r1, r3
245 000a 03E0 b .L24
246 .L21:
427:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
428:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** else
429:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
430:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /* Disable the DMA transfer for selected requests by clearing the DMAT and/or
431:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** DMAR bits in the USART CR3 register */
432:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** USARTx->CR3 &= (uint16_t)~USART_DMAReq;
247 .loc 1 432 0
248 000c 838A ldrh r3, [r0, #20]
249 000e 9BB2 uxth r3, r3
250 0010 23EA0103 bic r3, r3, r1
251 .L24:
252 0014 8382 strh r3, [r0, #20] @ movhi
433:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
434:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** }
253 .loc 1 434 0
254 0016 7047 bx lr
255 .LFE33:
257 .section .text.USART_SetAddress,"ax",%progbits
258 .align 2
259 .global USART_SetAddress
260 .thumb
261 .thumb_func
263 USART_SetAddress:
264 .LFB34:
435:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c ****
436:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** /**
437:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @brief Sets the address of the USART node.
438:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USARTx: Select the USART or the UART peripheral.
439:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * This parameter can be one of the following values:
440:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * USART1, USART2, USART3, UART4 or UART5.
441:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @param USART_Address: Indicates the address of the USART node.
442:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** * @retval : None
443:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** */
444:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address)
445:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c **** {
265 .loc 1 445 0
266 @ args = 0, pretend = 0, frame = 0
267 @ frame_needed = 0, uses_anonymous_args = 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -