📄 stm32f10x_dac.lst
字号:
418 *(__IO uint32_t *)tmp = data;
\ 0000002A 2360 STR R3,[R4, #+0]
419 }
\ 0000002C 30BC POP {R4,R5}
\ 0000002E 7047 BX LR ;; return
420
421 /**
422 * @brief Returns the last data output value of the selected DAC cahnnel.
423 * @param DAC_Channel: the selected DAC channel.
424 * This parameter can be one of the following values:
425 * @arg DAC_Channel_1: DAC Channel1 selected
426 * @arg DAC_Channel_2: DAC Channel2 selected
427 * @retval The selected DAC channel data output value.
428 */
\ In section .text, align 2, keep-with-next
429 uint16_t DAC_GetDataOutputValue(uint32_t DAC_Channel)
430 {
\ DAC_GetDataOutputValue:
\ 00000000 81B0 SUB SP,SP,#+4
\ 00000002 0100 MOVS R1,R0
431 __IO uint32_t tmp = 0;
\ 00000004 0020 MOVS R0,#+0
\ 00000006 0090 STR R0,[SP, #+0]
432
433 /* Check the parameters */
434 assert_param(IS_DAC_CHANNEL(DAC_Channel));
435
436 tmp = (uint32_t) DAC_BASE ;
\ 00000008 .... LDR.N R0,??DataTable9 ;; 0x40007400
\ 0000000A 0090 STR R0,[SP, #+0]
437 tmp += DOR_OFFSET + ((uint32_t)DAC_Channel >> 2);
\ 0000000C 0098 LDR R0,[SP, #+0]
\ 0000000E 8A08 LSRS R2,R1,#+2
\ 00000010 2C32 ADDS R2,R2,#+44
\ 00000012 1018 ADDS R0,R2,R0
\ 00000014 0090 STR R0,[SP, #+0]
438
439 /* Returns the DAC channel data output register value */
440 return (uint16_t) (*(__IO uint32_t*) tmp);
\ 00000016 0098 LDR R0,[SP, #+0]
\ 00000018 0068 LDR R0,[R0, #+0]
\ 0000001A 80B2 UXTH R0,R0 ;; ZeroExt R0,R0,#+16,#+16
\ 0000001C 01B0 ADD SP,SP,#+4
\ 0000001E 7047 BX LR ;; return
441 }
\ In section .text, align 4, keep-with-next
\ ??DataTable9:
\ 00000000 00740040 DC32 0x40007400
\ In section .text, align 4, keep-with-next
\ ??DataTable9_1:
\ 00000000 04740040 DC32 0x40007404
442
443 #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
444 /**
445 * @brief Checks whether the specified DAC flag is set or not.
446 * @param DAC_Channel: thee selected DAC channel.
447 * This parameter can be one of the following values:
448 * @arg DAC_Channel_1: DAC Channel1 selected
449 * @arg DAC_Channel_2: DAC Channel2 selected
450 * @param DAC_FLAG: specifies the flag to check.
451 * This parameter can be only of the following value:
452 * @arg DAC_FLAG_DMAUDR: DMA underrun flag
453 * @retval The new state of DAC_FLAG (SET or RESET).
454 */
455 FlagStatus DAC_GetFlagStatus(uint32_t DAC_Channel, uint32_t DAC_FLAG)
456 {
457 FlagStatus bitstatus = RESET;
458 /* Check the parameters */
459 assert_param(IS_DAC_CHANNEL(DAC_Channel));
460 assert_param(IS_DAC_FLAG(DAC_FLAG));
461
462 /* Check the status of the specified DAC flag */
463 if ((DAC->SR & (DAC_FLAG << DAC_Channel)) != (uint8_t)RESET)
464 {
465 /* DAC_FLAG is set */
466 bitstatus = SET;
467 }
468 else
469 {
470 /* DAC_FLAG is reset */
471 bitstatus = RESET;
472 }
473 /* Return the DAC_FLAG status */
474 return bitstatus;
475 }
476
477 /**
478 * @brief Clears the DAC channelx's pending flags.
479 * @param DAC_Channel: the selected DAC channel.
480 * This parameter can be one of the following values:
481 * @arg DAC_Channel_1: DAC Channel1 selected
482 * @arg DAC_Channel_2: DAC Channel2 selected
483 * @param DAC_FLAG: specifies the flag to clear.
484 * This parameter can be of the following value:
485 * @arg DAC_FLAG_DMAUDR: DMA underrun flag
486 * @retval None
487 */
488 void DAC_ClearFlag(uint32_t DAC_Channel, uint32_t DAC_FLAG)
489 {
490 /* Check the parameters */
491 assert_param(IS_DAC_CHANNEL(DAC_Channel));
492 assert_param(IS_DAC_FLAG(DAC_FLAG));
493
494 /* Clear the selected DAC flags */
495 DAC->SR = (DAC_FLAG << DAC_Channel);
496 }
497
498 /**
499 * @brief Checks whether the specified DAC interrupt has occurred or not.
500 * @param DAC_Channel: the selected DAC channel.
501 * This parameter can be one of the following values:
502 * @arg DAC_Channel_1: DAC Channel1 selected
503 * @arg DAC_Channel_2: DAC Channel2 selected
504 * @param DAC_IT: specifies the DAC interrupt source to check.
505 * This parameter can be the following values:
506 * @arg DAC_IT_DMAUDR: DMA underrun interrupt mask
507 * @retval The new state of DAC_IT (SET or RESET).
508 */
509 ITStatus DAC_GetITStatus(uint32_t DAC_Channel, uint32_t DAC_IT)
510 {
511 ITStatus bitstatus = RESET;
512 uint32_t enablestatus = 0;
513
514 /* Check the parameters */
515 assert_param(IS_DAC_CHANNEL(DAC_Channel));
516 assert_param(IS_DAC_IT(DAC_IT));
517
518 /* Get the DAC_IT enable bit status */
519 enablestatus = (DAC->CR & (DAC_IT << DAC_Channel)) ;
520
521 /* Check the status of the specified DAC interrupt */
522 if (((DAC->SR & (DAC_IT << DAC_Channel)) != (uint32_t)RESET) && enablestatus)
523 {
524 /* DAC_IT is set */
525 bitstatus = SET;
526 }
527 else
528 {
529 /* DAC_IT is reset */
530 bitstatus = RESET;
531 }
532 /* Return the DAC_IT status */
533 return bitstatus;
534 }
535
536 /**
537 * @brief Clears the DAC channelx抯 interrupt pending bits.
538 * @param DAC_Channel: the selected DAC channel.
539 * This parameter can be one of the following values:
540 * @arg DAC_Channel_1: DAC Channel1 selected
541 * @arg DAC_Channel_2: DAC Channel2 selected
542 * @param DAC_IT: specifies the DAC interrupt pending bit to clear.
543 * This parameter can be the following values:
544 * @arg DAC_IT_DMAUDR: DMA underrun interrupt mask
545 * @retval None
546 */
547 void DAC_ClearITPendingBit(uint32_t DAC_Channel, uint32_t DAC_IT)
548 {
549 /* Check the parameters */
550 assert_param(IS_DAC_CHANNEL(DAC_Channel));
551 assert_param(IS_DAC_IT(DAC_IT));
552
553 /* Clear the selected DAC interrupt pending bits */
554 DAC->SR = (DAC_IT << DAC_Channel);
555 }
556 #endif
557
558 /**
559 * @}
560 */
561
562 /**
563 * @}
564 */
565
566 /**
567 * @}
568 */
569
570 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
Maximum stack usage in bytes:
Function .cstack
-------- -------
DAC_Cmd 0
DAC_DMACmd 0
DAC_DeInit 8
DAC_DualSoftwareTriggerCmd 0
DAC_GetDataOutputValue 4
DAC_Init 8
DAC_SetChannel1Data 4
DAC_SetChannel2Data 4
DAC_SetDualChannelData 8
DAC_SoftwareTriggerCmd 4
DAC_StructInit 0
DAC_WaveGenerationCmd 4
Section sizes:
Function/Label Bytes
-------------- -----
DAC_DeInit 24
DAC_Init 50
DAC_StructInit 18
DAC_Cmd 38
DAC_DMACmd 42
DAC_SoftwareTriggerCmd 46
DAC_DualSoftwareTriggerCmd 34
DAC_WaveGenerationCmd 42
DAC_SetChannel1Data 30
DAC_SetChannel2Data 30
DAC_SetDualChannelData 48
DAC_GetDataOutputValue 32
??DataTable9 4
??DataTable9_1 4
442 bytes in section .text
442 bytes of CODE memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -