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

📄 stm32f10x_spi.lst

📁 STM32 MassStorageClass Sample with shimple buffers you can acceess via SDCARD via spi interface
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -