Subversion Repositories canSerial

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 3
Line 1... Line 1...
1
/**
1
/**
2
  ******************************************************************************
2
  ******************************************************************************
3
  * @file    stm32f1xx_hal_dac_ex.h
3
  * @file    stm32f1xx_hal_dac_ex.h
4
  * @author  MCD Application Team
4
  * @author  MCD Application Team
5
  * @brief   Header file of DAC HAL Extended module.
5
  * @brief   Header file of DAC HAL Extended module.
6
  ******************************************************************************
6
  ******************************************************************************
7
  * @attention
7
  * @attention
8
  *
8
  *
9
  * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
9
  * Copyright (c) 2016 STMicroelectronics.
10
  * All rights reserved.</center></h2>
10
  * All rights reserved.
11
  *
11
  *
12
  * This software component is licensed by ST under BSD 3-Clause license,
12
  * This software is licensed under terms that can be found in the LICENSE file
13
  * the "License"; You may not use this file except in compliance with the
13
  * in the root directory of this software component.
14
  * License. You may obtain a copy of the License at:
14
  * If no LICENSE file comes with this software, it is provided AS-IS.
15
  *                        opensource.org/licenses/BSD-3-Clause
15
  *
16
  *
16
  ******************************************************************************
17
  ******************************************************************************
17
  */
18
  */
18
 
19
 
19
/* Define to prevent recursive inclusion -------------------------------------*/
20
/* Define to prevent recursive inclusion -------------------------------------*/
20
#ifndef STM32F1xx_HAL_DAC_EX_H
21
#ifndef STM32F1xx_HAL_DAC_EX_H
21
#define STM32F1xx_HAL_DAC_EX_H
22
#define STM32F1xx_HAL_DAC_EX_H
22
 
23
 
23
#ifdef __cplusplus
24
#ifdef __cplusplus
24
extern "C" {
25
extern "C" {
25
#endif
26
#endif
26
 
27
 
27
/** @addtogroup STM32F1xx_HAL_Driver
28
/** @addtogroup STM32F1xx_HAL_Driver
28
  * @{
29
  * @{
29
  */
30
  */
30
 
31
 
31
/* Includes ------------------------------------------------------------------*/
32
/* Includes ------------------------------------------------------------------*/
32
#include "stm32f1xx_hal_def.h"
33
#include "stm32f1xx_hal_def.h"
33
 
34
 
34
#if defined(DAC)
35
#if defined(DAC)
35
 
36
 
36
/** @addtogroup DACEx
37
/** @addtogroup DACEx
37
  * @{
38
  * @{
38
  */
39
  */
39
 
40
 
40
/* Exported types ------------------------------------------------------------*/
41
/* Exported types ------------------------------------------------------------*/
41
 
42
 
42
/**
43
/**
43
  * @brief  HAL State structures definition
44
  * @brief  HAL State structures definition
44
  */
45
  */
45
 
46
 
46
/* Exported constants --------------------------------------------------------*/
47
/* Exported constants --------------------------------------------------------*/
47
 
48
 
48
/** @defgroup DACEx_Exported_Constants DACEx Exported Constants
49
/** @defgroup DACEx_Exported_Constants DACEx Exported Constants
49
  * @{
50
  * @{
50
  */
51
  */
51
 
52
 
52
/** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangle amplitude
53
/** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangle amplitude
53
  * @{
54
  * @{
54
  */
55
  */
55
#define DAC_LFSRUNMASK_BIT0                0x00000000UL                                                        /*!< Unmask DAC channel LFSR bit0 for noise wave generation */
56
#define DAC_LFSRUNMASK_BIT0                0x00000000UL                                                        /*!< Unmask DAC channel LFSR bit0 for noise wave generation */
56
#define DAC_LFSRUNMASK_BITS1_0             (                                                   DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */
57
#define DAC_LFSRUNMASK_BITS1_0             (                                                   DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */
57
#define DAC_LFSRUNMASK_BITS2_0             (                                  DAC_CR_MAMP1_1                 ) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */
58
#define DAC_LFSRUNMASK_BITS2_0             (                                  DAC_CR_MAMP1_1                 ) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */
58
#define DAC_LFSRUNMASK_BITS3_0             (                                  DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[3:0] for noise wave generation */
59
#define DAC_LFSRUNMASK_BITS3_0             (                                  DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[3:0] for noise wave generation */
59
#define DAC_LFSRUNMASK_BITS4_0             (                 DAC_CR_MAMP1_2                                  ) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */
60
#define DAC_LFSRUNMASK_BITS4_0             (                 DAC_CR_MAMP1_2                                  ) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */
60
#define DAC_LFSRUNMASK_BITS5_0             (                 DAC_CR_MAMP1_2                  | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[5:0] for noise wave generation */
61
#define DAC_LFSRUNMASK_BITS5_0             (                 DAC_CR_MAMP1_2                  | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[5:0] for noise wave generation */
61
#define DAC_LFSRUNMASK_BITS6_0             (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1                 ) /*!< Unmask DAC channel LFSR bit[6:0] for noise wave generation */
62
#define DAC_LFSRUNMASK_BITS6_0             (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1                 ) /*!< Unmask DAC channel LFSR bit[6:0] for noise wave generation */
62
#define DAC_LFSRUNMASK_BITS7_0             (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[7:0] for noise wave generation */
63
#define DAC_LFSRUNMASK_BITS7_0             (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[7:0] for noise wave generation */
63
#define DAC_LFSRUNMASK_BITS8_0             (DAC_CR_MAMP1_3                                                   ) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */
64
#define DAC_LFSRUNMASK_BITS8_0             (DAC_CR_MAMP1_3                                                   ) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */
64
#define DAC_LFSRUNMASK_BITS9_0             (DAC_CR_MAMP1_3                                   | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[9:0] for noise wave generation */
65
#define DAC_LFSRUNMASK_BITS9_0             (DAC_CR_MAMP1_3                                   | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[9:0] for noise wave generation */
65
#define DAC_LFSRUNMASK_BITS10_0            (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1                 ) /*!< Unmask DAC channel LFSR bit[10:0] for noise wave generation */
66
#define DAC_LFSRUNMASK_BITS10_0            (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1                 ) /*!< Unmask DAC channel LFSR bit[10:0] for noise wave generation */
66
#define DAC_LFSRUNMASK_BITS11_0            (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[11:0] for noise wave generation */
67
#define DAC_LFSRUNMASK_BITS11_0            (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[11:0] for noise wave generation */
67
#define DAC_TRIANGLEAMPLITUDE_1            0x00000000UL                                                        /*!< Select max triangle amplitude of 1 */
68
#define DAC_TRIANGLEAMPLITUDE_1            0x00000000UL                                                        /*!< Select max triangle amplitude of 1 */
68
#define DAC_TRIANGLEAMPLITUDE_3            (                                                   DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 3 */
69
#define DAC_TRIANGLEAMPLITUDE_3            (                                                   DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 3 */
69
#define DAC_TRIANGLEAMPLITUDE_7            (                                  DAC_CR_MAMP1_1                 ) /*!< Select max triangle amplitude of 7 */
70
#define DAC_TRIANGLEAMPLITUDE_7            (                                  DAC_CR_MAMP1_1                 ) /*!< Select max triangle amplitude of 7 */
70
#define DAC_TRIANGLEAMPLITUDE_15           (                                  DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 15 */
71
#define DAC_TRIANGLEAMPLITUDE_15           (                                  DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 15 */
71
#define DAC_TRIANGLEAMPLITUDE_31           (                 DAC_CR_MAMP1_2                                  ) /*!< Select max triangle amplitude of 31 */
72
#define DAC_TRIANGLEAMPLITUDE_31           (                 DAC_CR_MAMP1_2                                  ) /*!< Select max triangle amplitude of 31 */
72
#define DAC_TRIANGLEAMPLITUDE_63           (                 DAC_CR_MAMP1_2                  | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 63 */
73
#define DAC_TRIANGLEAMPLITUDE_63           (                 DAC_CR_MAMP1_2                  | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 63 */
73
#define DAC_TRIANGLEAMPLITUDE_127          (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1                 ) /*!< Select max triangle amplitude of 127 */
74
#define DAC_TRIANGLEAMPLITUDE_127          (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1                 ) /*!< Select max triangle amplitude of 127 */
74
#define DAC_TRIANGLEAMPLITUDE_255          (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 255 */
75
#define DAC_TRIANGLEAMPLITUDE_255          (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 255 */
75
#define DAC_TRIANGLEAMPLITUDE_511          (DAC_CR_MAMP1_3                                                   ) /*!< Select max triangle amplitude of 511 */
76
#define DAC_TRIANGLEAMPLITUDE_511          (DAC_CR_MAMP1_3                                                   ) /*!< Select max triangle amplitude of 511 */
76
#define DAC_TRIANGLEAMPLITUDE_1023         (DAC_CR_MAMP1_3                                   | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 1023 */
77
#define DAC_TRIANGLEAMPLITUDE_1023         (DAC_CR_MAMP1_3                                   | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 1023 */
77
#define DAC_TRIANGLEAMPLITUDE_2047         (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1                 ) /*!< Select max triangle amplitude of 2047 */
78
#define DAC_TRIANGLEAMPLITUDE_2047         (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1                 ) /*!< Select max triangle amplitude of 2047 */
78
#define DAC_TRIANGLEAMPLITUDE_4095         (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 4095 */
79
#define DAC_TRIANGLEAMPLITUDE_4095         (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 4095 */
79
 
80
 
80
/**
81
/**
81
  * @}
82
  * @}
82
  */
83
  */
83
 
84
 
84
/** @defgroup DACEx_trigger_selection DAC trigger selection
85
/** @defgroup DACEx_trigger_selection DAC trigger selection
85
  * @{
86
  * @{
86
  */
87
  */
87
#define DAC_TRIGGER_NONE                   0x00000000U            /*!< Conversion is automatic once the DAC1_DHRxxxx register
88
#define DAC_TRIGGER_NONE                   0x00000000U            /*!< Conversion is automatic once the DAC1_DHRxxxx register 
88
                                                                       has been loaded, and not by external trigger */
89
                                                                       has been loaded, and not by external trigger */
89
#define DAC_TRIGGER_T6_TRGO                ((uint32_t)                                                    DAC_CR_TEN1)  /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
90
#define DAC_TRIGGER_T6_TRGO                ((uint32_t)                                                    DAC_CR_TEN1)  /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
90
#define DAC_TRIGGER_T7_TRGO                ((uint32_t)(                 DAC_CR_TSEL1_1                  | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
91
#define DAC_TRIGGER_T7_TRGO                ((uint32_t)(                 DAC_CR_TSEL1_1                  | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
91
#define DAC_TRIGGER_T2_TRGO                ((uint32_t)(DAC_CR_TSEL1_2                                   | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
92
#define DAC_TRIGGER_T2_TRGO                ((uint32_t)(DAC_CR_TSEL1_2                                   | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
92
#define DAC_TRIGGER_T4_TRGO                ((uint32_t)(DAC_CR_TSEL1_2                  | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */
93
#define DAC_TRIGGER_T4_TRGO                ((uint32_t)(DAC_CR_TSEL1_2                  | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */
93
#define DAC_TRIGGER_EXT_IT9                ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1                  | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
94
#define DAC_TRIGGER_EXT_IT9                ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1                  | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
94
#define DAC_TRIGGER_SOFTWARE               ((uint32_t)(DAC_CR_TSEL1                                     | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
95
#define DAC_TRIGGER_SOFTWARE               ((uint32_t)(DAC_CR_TSEL1                                     | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
95
 
96
 
96
#if defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG)
97
#if defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG)
97
/* For STM32F10x high-density and XL-density devices: TIM8 */
98
/* For STM32F10x high-density and XL-density devices: TIM8 */
98
#define DAC_TRIGGER_T8_TRGO                ((uint32_t)                                   DAC_CR_TSEL1_0 | DAC_CR_TEN1)  /*!< TIM8 TRGO selected as external conversion trigger for DAC channel */
99
#define DAC_TRIGGER_T8_TRGO                ((uint32_t)                                   DAC_CR_TSEL1_0 | DAC_CR_TEN1)  /*!< TIM8 TRGO selected as external conversion trigger for DAC channel */
99
#endif /* STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */
100
#endif /* STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */
100
 
101
   
101
#if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F105xC) || defined (STM32F107xC)
102
#if defined (STM32F100xB) || defined (STM32F100xE) || defined (STM32F105xC) || defined (STM32F107xC)
102
/* For STM32F10x connectivity line devices and STM32F100x devices: TIM3 */
103
/* For STM32F10x connectivity line devices and STM32F100x devices: TIM3 */
103
#define DAC_TRIGGER_T3_TRGO                ((uint32_t)                                   DAC_CR_TSEL1_0 | DAC_CR_TEN1)  /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
104
#define DAC_TRIGGER_T3_TRGO                ((uint32_t)                                   DAC_CR_TSEL1_0 | DAC_CR_TEN1)  /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
104
#endif /* STM32F100xB || STM32F100xE || STM32F105xC || STM32F107xC */
105
#endif /* STM32F100xB || STM32F100xE || STM32F105xC || STM32F107xC */
105
 
106
 
106
/* Availability of trigger from TIM5 and TIM15:                               */
107
/* Availability of trigger from TIM5 and TIM15:                               */
107
/*  - For STM32F10x value line devices STM32F100xB:                           */
108
/*  - For STM32F10x value line devices STM32F100xB:                           */
108
/*    trigger from TIM15 is available, TIM5 not available.                    */
109
/*    trigger from TIM15 is available, TIM5 not available.                    */
109
/*  - For STM32F10x value line devices STM32F100xE:                           */
110
/*  - For STM32F10x value line devices STM32F100xE:                           */
110
/*    trigger from TIM15 and TIM5 are both available,                         */
111
/*    trigger from TIM15 and TIM5 are both available,                         */
111
/*    selection depends on remap (with TIM5 as default configuration).        */
112
/*    selection depends on remap (with TIM5 as default configuration).        */
112
/*  - Other STM32F1 devices:                                                  */
113
/*  - Other STM32F1 devices:                                                  */
113
/*    trigger from TIM5 is available, TIM15 not  available.                   */
114
/*    trigger from TIM5 is available, TIM15 not  available.                   */
114
#if defined (STM32F100xB)
115
#if defined (STM32F100xB)
115
#define DAC_TRIGGER_T15_TRGO               ((uint32_t)(                 DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM15 TRGO selected as external conversion trigger for DAC channel */
116
#define DAC_TRIGGER_T15_TRGO               ((uint32_t)(                 DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM15 TRGO selected as external conversion trigger for DAC channel */
116
#else
117
#else
117
 
118
 
118
#define DAC_TRIGGER_T5_TRGO                ((uint32_t)(                 DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
119
#define DAC_TRIGGER_T5_TRGO                ((uint32_t)(                 DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
119
 
120
 
120
#if defined (STM32F100xE)
121
#if defined (STM32F100xE)
121
/*!< DAC trigger availability depending on STM32F1 devices:
122
/*!< DAC trigger availability depending on STM32F1 devices:
122
     For STM32F100x high-density value line devices, the TIM15 TRGO event can be selected
123
     For STM32F100x high-density value line devices, the TIM15 TRGO event can be selected
123
     as replacement of TIM5 TRGO if the MISC_REMAP bit in the AFIO_MAPR2 register is set.
124
     as replacement of TIM5 TRGO if the MISC_REMAP bit in the AFIO_MAPR2 register is set.
124
     Refer to macro "__HAL_AFIO_REMAP_MISC_ENABLE()/__HAL_AFIO_REMAP_MISC_DISABLE()".
125
     Refer to macro "__HAL_AFIO_REMAP_MISC_ENABLE()/__HAL_AFIO_REMAP_MISC_DISABLE()".
125
     Otherwise, TIM5 TRGO is used and TIM15 TRGO is not used (default case).
126
     Otherwise, TIM5 TRGO is used and TIM15 TRGO is not used (default case).
126
     For more details please refer to the AFIO section. */
127
     For more details please refer to the AFIO section. */
127
#define DAC_TRIGGER_T15_TRGO    DAC_TRIGGER_T5_TRGO
128
#define DAC_TRIGGER_T15_TRGO    DAC_TRIGGER_T5_TRGO
128
#endif /* STM32F100xE */
129
#endif /* STM32F100xE */
129
 
130
   
130
#endif /* STM32F100xB */
131
#endif /* STM32F100xB */
131
/**
132
/**
132
  * @}
133
  * @}
133
  */
134
  */
134
 
135
 
135
 
136
/**
136
/**
137
  * @}
137
  * @}
138
  */
138
  */
139
 
139
 
140
/* Exported macro ------------------------------------------------------------*/
140
/* Exported macro ------------------------------------------------------------*/
141
 
141
 
142
 
142
 
143
/* Private macro -------------------------------------------------------------*/
143
/* Private macro -------------------------------------------------------------*/
144
 
144
 
145
/** @defgroup DACEx_Private_Macros DACEx Private Macros
145
/** @defgroup DACEx_Private_Macros DACEx Private Macros
146
  * @{
146
  * @{
147
  */
147
  */
148
#if defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG)
148
#if defined (STM32F101xE) || defined (STM32F101xG) || defined (STM32F103xE) || defined (STM32F103xG)
149
#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE)    || \
149
#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE)    || \
150
                                 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
150
                                 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
151
                                 ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \
151
                                 ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \
152
                                 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
152
                                 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
153
                                 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
153
                                 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
154
                                 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
154
                                 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
155
                                 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
155
                                 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
156
                                 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
156
                                 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
157
                                 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
157
                                 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
158
#endif /* STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */
158
#endif /* STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */
159
#if defined (STM32F100xE) || defined (STM32F105xC) || defined (STM32F107xC)
159
#if defined (STM32F100xE) || defined (STM32F105xC) || defined (STM32F107xC)
160
#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE)    || \
160
#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE)    || \
161
                                 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
161
                                 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
162
                                 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
162
                                 ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
163
                                 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
163
                                 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
164
                                 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
164
                                 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
165
                                 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
165
                                 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
166
                                 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
166
                                 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
167
                                 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
167
                                 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
168
                                 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
168
                                 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
169
#endif /* STM32F100xE || STM32F105xC || STM32F107xC */
169
#endif /* STM32F100xE || STM32F105xC || STM32F107xC */
170
#if defined (STM32F100xB)
170
#if defined (STM32F100xB)
171
#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE)     || \
171
#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE)     || \
172
                                 ((TRIGGER) == DAC_TRIGGER_T6_TRGO)  || \
172
                                 ((TRIGGER) == DAC_TRIGGER_T6_TRGO)  || \
173
                                 ((TRIGGER) == DAC_TRIGGER_T3_TRGO)  || \
173
                                 ((TRIGGER) == DAC_TRIGGER_T3_TRGO)  || \
174
                                 ((TRIGGER) == DAC_TRIGGER_T7_TRGO)  || \
174
                                 ((TRIGGER) == DAC_TRIGGER_T7_TRGO)  || \
175
                                 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
175
                                 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
176
                                 ((TRIGGER) == DAC_TRIGGER_T2_TRGO)  || \
176
                                 ((TRIGGER) == DAC_TRIGGER_T2_TRGO)  || \
177
                                 ((TRIGGER) == DAC_TRIGGER_T4_TRGO)  || \
177
                                 ((TRIGGER) == DAC_TRIGGER_T4_TRGO)  || \
178
                                 ((TRIGGER) == DAC_TRIGGER_EXT_IT9)  || \
178
                                 ((TRIGGER) == DAC_TRIGGER_EXT_IT9)  || \
179
                                 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
179
                                 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
180
#endif /* STM32F100xB */
180
#endif /* STM32F100xB */
181
 
181
 
182
#define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \
182
#define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \
183
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \
183
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \
184
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \
184
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \
185
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \
185
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \
186
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \
186
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \
187
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \
187
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \
188
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \
188
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \
189
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \
189
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \
190
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \
190
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \
191
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \
191
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \
192
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \
192
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \
193
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \
193
                                                      ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \
194
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \
194
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \
195
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \
195
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \
196
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \
196
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \
197
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \
197
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \
198
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \
198
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \
199
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \
199
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \
200
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \
200
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \
201
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \
201
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \
202
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \
202
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \
203
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \
203
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \
204
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \
204
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \
205
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095))
205
                                                      ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095))
206
/**
206
/**
207
  * @}
207
  * @}
208
  */
208
  */
209
 
209
 
210
/* Exported functions --------------------------------------------------------*/
210
/* Exported functions --------------------------------------------------------*/
211
/* Extended features functions ***********************************************/
211
/* Extended features functions ***********************************************/
212
 
212
 
213
/** @addtogroup DACEx_Exported_Functions
213
/** @addtogroup DACEx_Exported_Functions
214
  * @{
214
  * @{
215
  */
215
  */
216
 
216
 
217
/** @addtogroup DACEx_Exported_Functions_Group2
217
/** @addtogroup DACEx_Exported_Functions_Group2
218
  * @{
218
  * @{
219
  */
219
  */
220
/* IO operation functions *****************************************************/
220
/* IO operation functions *****************************************************/
221
 
221
 
222
HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude);
222
HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude);
223
HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude);
223
HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Amplitude);
224
 
224
 
225
HAL_StatusTypeDef HAL_DACEx_DualStart(DAC_HandleTypeDef *hdac);
225
HAL_StatusTypeDef HAL_DACEx_DualStart(DAC_HandleTypeDef *hdac);
226
HAL_StatusTypeDef HAL_DACEx_DualStop(DAC_HandleTypeDef *hdac);
226
HAL_StatusTypeDef HAL_DACEx_DualStop(DAC_HandleTypeDef *hdac);
227
HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef *hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
227
HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef *hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
228
uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef *hdac);
228
uint32_t HAL_DACEx_DualGetValue(const DAC_HandleTypeDef *hdac);
229
 
229
 
230
void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef *hdac);
230
void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef *hdac);
231
void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef *hdac);
231
void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef *hdac);
232
void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac);
232
void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac);
233
void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac);
233
void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac);
234
 
234
 
235
 
235
 
236
/**
236
/**
237
  * @}
237
  * @}
238
  */
238
  */
239
 
239
 
240
/**
240
/**
241
  * @}
241
  * @}
242
  */
242
  */
243
 
243
 
244
/**
244
/**
245
  * @}
245
  * @}
246
  */
246
  */
247
 
247
 
248
/** @addtogroup DACEx_Private_Functions
248
/** @addtogroup DACEx_Private_Functions
249
  * @{
249
  * @{
250
  */
250
  */
251
 
251
 
252
/* DAC_DMAConvCpltCh2 / DAC_DMAErrorCh2 / DAC_DMAHalfConvCpltCh2 */
252
/* DAC_DMAConvCpltCh2 / DAC_DMAErrorCh2 / DAC_DMAHalfConvCpltCh2 */
253
/* are called by HAL_DAC_Start_DMA */
253
/* are called by HAL_DAC_Start_DMA */
254
void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma);
254
void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma);
255
void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma);
255
void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma);
256
void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma);
256
void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma);
257
 
257
 
258
/**
258
/**
259
  * @}
259
  * @}
260
  */
260
  */
261
 
261
 
262
/**
262
/**
263
  * @}
263
  * @}
264
  */
264
  */
265
 
265
 
266
#endif /* DAC */
266
#endif /* DAC */
267
 
267
 
268
/**
268
/**
269
  * @}
269
  * @}
270
  */
270
  */
271
 
271
 
272
#ifdef __cplusplus
272
#ifdef __cplusplus
273
}
273
}
274
#endif
274
#endif
275
 
275
 
276
#endif /* STM32F1xx_HAL_DAC_EX_H */
276
#endif /* STM32F1xx_HAL_DAC_EX_H */
277
 
-
 
278
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
-