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

📄 stm32f10x_tim.lst

📁 STM32 "kickstart" program with newlib/stdio like sprintf&printf
💻 LST
📖 第 1 页 / 共 5 页
字号:
 248              	TIM_OC2Init:
 249              	.LFB29:
 357:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** 
 358:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /**
 359:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   * @brief  Initializes the TIMx Channel2 according to the specified
 360:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   *   parameters in the TIM_OCInitStruct.
 361:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   * @param TIMx: where x can be  1, 2, 3, 4, 5 or 8 to select the TIM 
 362:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   *   peripheral.
 363:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure
 364:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   *   that contains the configuration information for the specified
 365:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   *   TIM peripheral.
 366:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   * @retval : None
 367:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   */
 368:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct)
 369:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** {
 250              		.loc 1 369 0
 251              		@ args = 0, pretend = 0, frame = 8
 252              		@ frame_needed = 0, uses_anonymous_args = 0
 253              	.LVL35:
 254 0000 73B5     		push	{r0, r1, r4, r5, r6, lr}
 255              	.LCFI2:
 256              	.LVL36:
 257              		.loc 1 369 0
 258 0002 0190     		str	r0, [sp, #4]
 259              	.LVL37:
 370:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0;
 371:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****    
 372:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Check the parameters */
 373:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   assert_param(IS_TIM_123458_PERIPH(TIMx)); 
 374:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode));
 375:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState));
 376:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity));   
 377:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Disable the Channel 2: Reset the CC2E Bit */
 378:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   TIMx->CCER &= CCER_CC2E_Reset;
 260              		.loc 1 378 0
 261 0004 038C     		ldrh	r3, [r0, #32]
 262              	.LVL38:
 263              		.loc 1 369 0
 264 0006 0C46     		mov	r4, r1
 265              	.LVL39:
 266              		.loc 1 378 0
 267 0008 23F01003 		bic	r3, r3, #16
 268 000c 1B04     		lsls	r3, r3, #16
 269 000e 1B0C     		lsrs	r3, r3, #16
 270 0010 0384     		strh	r3, [r0, #32]	@ movhi
 379:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   
 380:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Get the TIMx CCER register value */  
 381:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpccer = TIMx->CCER;
 271              		.loc 1 381 0
 272 0012 0199     		ldr	r1, [sp, #4]
 273              	.LVL40:
 382:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Get the TIMx CR2 register value */
 383:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpcr2 =  TIMx->CR2;
 384:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   
 385:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Get the TIMx CCMR1 register value */
 386:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpccmrx = TIMx->CCMR1;
 387:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     
 388:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Reset the Output Compare Mode Bits */
 389:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpccmrx &= CCMR_OC24M_Mask;
 390:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   
 391:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Select the Output Compare Mode */
 392:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpccmrx |= (uint16_t)(TIM_OCInitStruct->TIM_OCMode << 8);
 274              		.loc 1 392 0
 275 0014 2688     		ldrh	r6, [r4, #0]
 276              		.loc 1 381 0
 277 0016 0B8C     		ldrh	r3, [r1, #32]
 278              		.loc 1 383 0
 279 0018 8A88     		ldrh	r2, [r1, #4]
 393:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   
 394:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Reset the Output Polarity level */
 395:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpccer &= CCER_CC2P_Reset;
 280              		.loc 1 395 0
 281 001a 23F02003 		bic	r3, r3, #32
 282              	.LVL41:
 283              		.loc 1 383 0
 284 001e 1FFA82FC 		uxth	ip, r2
 285              	.LVL42:
 286              		.loc 1 386 0
 287 0022 0A8B     		ldrh	r2, [r1, #24]
 288              		.loc 1 395 0
 289 0024 1B04     		lsls	r3, r3, #16
 290              	.LVL43:
 291              		.loc 1 386 0
 292 0026 95B2     		uxth	r5, r2
 293              	.LVL44:
 396:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Set the Output Compare Polarity */
 397:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 4);
 294              		.loc 1 397 0
 295 0028 2289     		ldrh	r2, [r4, #8]
 296              		.loc 1 395 0
 297 002a 1B0C     		lsrs	r3, r3, #16
 298              	.LVL45:
 299              		.loc 1 397 0
 300 002c 43EA0213 		orr	r3, r3, r2, lsl #4
 301              	.LVL46:
 398:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   
 399:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Set the Output State */
 400:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 4);
 302              		.loc 1 400 0
 303 0030 6288     		ldrh	r2, [r4, #2]
 304              		.loc 1 397 0
 305 0032 9BB2     		uxth	r3, r3
 306              	.LVL47:
 307              		.loc 1 400 0
 308 0034 43EA0213 		orr	r3, r3, r2, lsl #4
 309              	.LVL48:
 310 0038 98B2     		uxth	r0, r3
 311              	.LVL49:
 401:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   
 402:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Set the Capture Compare Register value */
 403:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   TIMx->CCR2 = TIM_OCInitStruct->TIM_Pulse;
 312              		.loc 1 403 0
 313 003a E388     		ldrh	r3, [r4, #6]
 314 003c 0B87     		strh	r3, [r1, #56]	@ movhi
 404:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   
 405:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   if((*(uint32_t*)&TIMx == TIM1_BASE) || (*(uint32_t*)&TIMx == TIM8_BASE))
 315              		.loc 1 405 0
 316 003e 019A     		ldr	r2, [sp, #4]
 317 0040 184B     		ldr	r3, .L17
 318 0042 9A42     		cmp	r2, r3
 319 0044 03D0     		beq	.L14
 320              	.LVL50:
 321 0046 03F50063 		add	r3, r3, #2048
 322 004a 9A42     		cmp	r2, r3
 323 004c 1BD1     		bne	.L15
 324              	.L14:
 406:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   {
 407:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     assert_param(IS_TIM_OUTPUTN_STATE(TIM_OCInitStruct->TIM_OutputNState));
 408:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity));
 409:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState));
 410:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState));
 411:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     
 412:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     /* Reset the Output N Polarity level */
 413:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpccer &= CCER_CC2NP_Reset;
 414:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     /* Set the Output N Polarity */
 415:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCNPolarity << 4);
 325              		.loc 1 415 0
 326 004e 6389     		ldrh	r3, [r4, #10]
 327              		.loc 1 413 0
 328 0050 4FF67F72 		movw	r2, #65407
 329              	.LVL51:
 330 0054 00EA0202 		and	r2, r0, r2
 331              	.LVL52:
 332              		.loc 1 415 0
 333 0058 42EA0312 		orr	r2, r2, r3, lsl #4
 334              	.LVL53:
 416:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     /* Reset the Output N State */
 417:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpccer &= CCER_CC2NE_Reset;
 335              		.loc 1 417 0
 336 005c 4FF6BF73 		movw	r3, #65471
 337              	.LVL54:
 338 0060 02EA0303 		and	r3, r2, r3
 339              	.LVL55:
 418:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     
 419:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     /* Set the Output N State */
 420:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputNState << 4);
 340              		.loc 1 420 0
 341 0064 A288     		ldrh	r2, [r4, #4]
 342 0066 43EA0213 		orr	r3, r3, r2, lsl #4
 343              	.LVL56:
 344 006a 98B2     		uxth	r0, r3
 345              	.LVL57:
 421:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     /* Reset the Ouput Compare and Output Compare N IDLE State */
 422:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpcr2 &= CR2_OIS2_Reset;
 423:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpcr2 &= CR2_OIS2N_Reset;
 424:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     /* Set the Output Idle state */
 425:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCIdleState << 2);
 346              		.loc 1 425 0
 347 006c A289     		ldrh	r2, [r4, #12]
 348              		.loc 1 423 0
 349 006e 47F2FF33 		movw	r3, #29695
 350              	.LVL58:
 351 0072 0CEA0303 		and	r3, ip, r3
 352              	.LVL59:
 353              		.loc 1 425 0
 354 0076 43EA8203 		orr	r3, r3, r2, lsl #2
 355              	.LVL60:
 426:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     /* Set the Output N Idle state */
 427:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****     tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCNIdleState << 2);
 356              		.loc 1 427 0
 357 007a E289     		ldrh	r2, [r4, #14]
 358              		.loc 1 425 0
 359 007c 9BB2     		uxth	r3, r3
 360              	.LVL61:
 361              		.loc 1 427 0
 362 007e 43EA8203 		orr	r3, r3, r2, lsl #2
 363              	.LVL62:
 364 0082 1FFA83FC 		uxth	ip, r3
 365              	.LVL63:
 366              	.L15:
 428:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   }
 429:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   /* Write to TIMx CR2 */
 430:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****   TIMx->CR2 = tmpcr2;
 367              		.loc 1 430 0
 368 0086 019B     		ldr	r3, [sp, #4]
 369 0088 A3F804C0 		strh	ip, [r3, #4]	@ movhi
 370              		.loc 1 389 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -