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

📄 stm32f10x_usart.lst

📁 STM32 "kickstart" program with newlib/stdio like sprintf&printf
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -