📄 stm32f10x_spi.lst
字号:
286 .global SPI_I2S_SendData
287 .thumb
288 .thumb_func
290 SPI_I2S_SendData:
291 .LFB35:
469:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
470:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
471:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Transmits a Data through the SPIx/I2Sx peripheral.
472:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be :
473:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * 1, 2 or 3 in SPI mode
474:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * 2 or 3 in I2S mode
475:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param Data : Data to be transmitted..
476:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval : None
477:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
478:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
479:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
292 .loc 1 479 0
293 @ args = 0, pretend = 0, frame = 0
294 @ frame_needed = 0, uses_anonymous_args = 0
295 @ link register save eliminated.
296 .LVL12:
480:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
481:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
482:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
483:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Write in the DR register the data to be sent */
484:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->DR = Data;
297 .loc 1 484 0
298 0000 8181 strh r1, [r0, #12] @ movhi
485:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
299 .loc 1 485 0
300 0002 7047 bx lr
301 .LFE35:
303 .section .text.SPI_I2S_ReceiveData,"ax",%progbits
304 .align 2
305 .global SPI_I2S_ReceiveData
306 .thumb
307 .thumb_func
309 SPI_I2S_ReceiveData:
310 .LFB36:
486:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
487:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
488:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Returns the most recent received data by the SPIx/I2Sx peripheral.
489:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be :
490:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * 1, 2 or 3 in SPI mode
491:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * 2 or 3 in I2S mode
492:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval : The value of the received data.
493:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
494:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx)
495:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
311 .loc 1 495 0
312 @ args = 0, pretend = 0, frame = 0
313 @ frame_needed = 0, uses_anonymous_args = 0
314 @ link register save eliminated.
315 .LVL13:
496:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
497:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
498:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
499:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Return the data in the DR register */
500:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** return SPIx->DR;
316 .loc 1 500 0
317 0000 8089 ldrh r0, [r0, #12]
318 .LVL14:
501:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
319 .loc 1 501 0
320 0002 80B2 uxth r0, r0
321 0004 7047 bx lr
322 .LFE36:
324 0006 C046 .section .text.SPI_NSSInternalSoftwareConfig,"ax",%progbits
325 .align 2
326 .global SPI_NSSInternalSoftwareConfig
327 .thumb
328 .thumb_func
330 SPI_NSSInternalSoftwareConfig:
331 .LFB37:
502:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
503:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
504:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Configures internally by software the NSS pin for the selected
505:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * SPI.
506:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
507:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPI_NSSInternalSoft: specifies the SPI NSS internal state.
508:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be one of the following values:
509:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_NSSInternalSoft_Set: Set NSS pin internally
510:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @arg SPI_NSSInternalSoft_Reset: Reset NSS pin internally
511:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval : None
512:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
513:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_NSSInternalSoftwareConfig(SPI_TypeDef* SPIx, uint16_t SPI_NSSInternalSoft)
514:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
332 .loc 1 514 0
333 @ args = 0, pretend = 0, frame = 0
334 @ frame_needed = 0, uses_anonymous_args = 0
335 @ link register save eliminated.
336 .LVL15:
515:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
516:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
517:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_NSS_INTERNAL(SPI_NSSInternalSoft));
518:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (SPI_NSSInternalSoft != SPI_NSSInternalSoft_Reset)
337 .loc 1 518 0
338 0000 4FF6FF63 movw r3, #65279
339 0004 9942 cmp r1, r3
340 0006 04D0 beq .L32
519:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
520:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Set NSS pin internally by software */
521:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 |= SPI_NSSInternalSoft_Set;
341 .loc 1 521 0
342 0008 0388 ldrh r3, [r0, #0]
343 000a 9BB2 uxth r3, r3
344 000c 43F48073 orr r3, r3, #256
345 0010 02E0 b .L35
346 .L32:
522:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
523:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
524:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
525:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Reset NSS pin internally by software */
526:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR1 &= SPI_NSSInternalSoft_Reset;
347 .loc 1 526 0
348 0012 0388 ldrh r3, [r0, #0]
349 0014 01EA0303 and r3, r1, r3
350 .L35:
351 0018 0380 strh r3, [r0, #0] @ movhi
527:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
528:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
352 .loc 1 528 0
353 001a 7047 bx lr
354 .LFE37:
356 .section .text.SPI_SSOutputCmd,"ax",%progbits
357 .align 2
358 .global SPI_SSOutputCmd
359 .thumb
360 .thumb_func
362 SPI_SSOutputCmd:
363 .LFB38:
529:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c ****
530:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /**
531:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @brief Enables or disables the SS output for the selected SPI.
532:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral.
533:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @param NewState: new state of the SPIx SS output.
534:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * This parameter can be: ENABLE or DISABLE.
535:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** * @retval : None
536:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** */
537:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** void SPI_SSOutputCmd(SPI_TypeDef* SPIx, FunctionalState NewState)
538:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
364 .loc 1 538 0
365 @ args = 0, pretend = 0, frame = 0
366 @ frame_needed = 0, uses_anonymous_args = 0
367 @ link register save eliminated.
368 .LVL16:
539:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Check the parameters */
540:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_SPI_ALL_PERIPH(SPIx));
541:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** assert_param(IS_FUNCTIONAL_STATE(NewState));
542:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** if (NewState != DISABLE)
369 .loc 1 542 0
370 0000 21B1 cbz r1, .L37
543:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
544:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Enable the selected SPI SS output */
545:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 |= CR2_SSOE_Set;
371 .loc 1 545 0
372 0002 8388 ldrh r3, [r0, #4]
373 0004 9BB2 uxth r3, r3
374 0006 43F00403 orr r3, r3, #4
375 000a 04E0 b .L40
376 .L37:
546:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
547:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** else
548:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** {
549:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** /* Disable the selected SPI SS output */
550:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** SPIx->CR2 &= CR2_SSOE_Reset;
377 .loc 1 550 0
378 000c 8388 ldrh r3, [r0, #4]
379 000e 23F00403 bic r3, r3, #4
380 0012 1B04 lsls r3, r3, #16
381 0014 1B0C lsrs r3, r3, #16
382 .L40:
383 0016 8380 strh r3, [r0, #4] @ movhi
551:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
552:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c **** }
384 .loc 1 552 0
385 0018 7047 bx lr
386 .LFE38:
388 001a C046
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -