]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_M0_STM32F0518_IAR/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_dac.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / CORTEX_M0_STM32F0518_IAR / Libraries / STM32F0xx_StdPeriph_Driver / inc / stm32f0xx_dac.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f0xx_dac.h\r
4   * @author  MCD Application Team\r
5   * @version V1.0.0RC1\r
6   * @date    27-January-2012\r
7   * @brief   This file contains all the functions prototypes for the DAC firmware \r
8   *          library.\r
9   ******************************************************************************\r
10   * @attention\r
11   *\r
12   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
14   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
15   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
16   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
17   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18   *\r
19   * FOR MORE INFORMATION PLEASE READ CAREFULLY THE LICENSE AGREEMENT FILE\r
20   * LOCATED IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.\r
21   *\r
22   * <h2><center>&copy; COPYRIGHT 2012 STMicroelectronics</center></h2>\r
23   ******************************************************************************\r
24   */\r
25 \r
26 /* Define to prevent recursive inclusion -------------------------------------*/\r
27 #ifndef __STM32F0XX_DAC_H\r
28 #define __STM32F0XX_DAC_H\r
29 \r
30 #ifdef __cplusplus\r
31  extern "C" {\r
32 #endif\r
33 \r
34 /* Includes ------------------------------------------------------------------*/\r
35 #include "stm32f0xx.h"\r
36  \r
37 /** @addtogroup STM32F0xx_StdPeriph_Driver\r
38   * @{\r
39   */\r
40 \r
41 /** @addtogroup DAC\r
42   * @{\r
43   */\r
44 \r
45 /* Exported types ------------------------------------------------------------*/\r
46 \r
47 /** \r
48   * @brief  DAC Init structure definition\r
49   */\r
50   \r
51 typedef struct\r
52 {\r
53   uint32_t DAC_Trigger;                      /*!< Specifies the external trigger for the selected DAC channel.\r
54                                                   This parameter can be a value of @ref DAC_Trigger */\r
55 \r
56   uint32_t DAC_OutputBuffer;                 /*!< Specifies whether the DAC channel output buffer is enabled or disabled.\r
57                                                   This parameter can be a value of @ref DAC_OutputBuffer */\r
58 }DAC_InitTypeDef;\r
59 \r
60 /* Exported constants --------------------------------------------------------*/\r
61 \r
62 /** @defgroup DAC_Exported_Constants\r
63   * @{\r
64   */\r
65 \r
66 /** @defgroup DAC_Trigger \r
67   * @{\r
68   */\r
69   \r
70 #define DAC_Trigger_None                   ((uint32_t)0x00000000) /*!< Conversion is automatic once the DAC1_DHRxxxx register \r
71                                                                        has been loaded, and not by external trigger */\r
72 #define DAC_Trigger_T6_TRGO                ((uint32_t)0x00000004) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */\r
73 #define DAC_Trigger_T3_TRGO                ((uint32_t)0x0000000C) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */\r
74 #define DAC_Trigger_T15_TRGO               ((uint32_t)0x0000001C) /*!< TIM15 TRGO selected as external conversion trigger for DAC channel */\r
75 #define DAC_Trigger_T2_TRGO                ((uint32_t)0x00000024) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */\r
76 #define DAC_Trigger_Ext_IT9                ((uint32_t)0x00000034) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */\r
77 #define DAC_Trigger_Software               ((uint32_t)0x0000003C) /*!< Conversion started by software trigger for DAC channel */\r
78 \r
79 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_Trigger_None) || \\r
80                                  ((TRIGGER) == DAC_Trigger_T6_TRGO) || \\r
81                                  ((TRIGGER) == DAC_Trigger_T3_TRGO) || \\r
82                                  ((TRIGGER) == DAC_Trigger_T15_TRGO) || \\r
83                                  ((TRIGGER) == DAC_Trigger_T2_TRGO) || \\r
84                                  ((TRIGGER) == DAC_Trigger_Ext_IT9) || \\r
85                                  ((TRIGGER) == DAC_Trigger_Software))\r
86                                  \r
87 /**\r
88   * @}\r
89   */\r
90 \r
91 /** @defgroup DAC_OutputBuffer \r
92   * @{\r
93   */\r
94 \r
95 #define DAC_OutputBuffer_Enable            ((uint32_t)0x00000000)\r
96 #define DAC_OutputBuffer_Disable           DAC_CR_BOFF1\r
97 #define IS_DAC_OUTPUT_BUFFER_STATE(STATE) (((STATE) == DAC_OutputBuffer_Enable) || \\r
98                                            ((STATE) == DAC_OutputBuffer_Disable))\r
99 /**\r
100   * @}\r
101   */\r
102   \r
103 /** @defgroup DAC_Channel_selection \r
104   * @{\r
105   */\r
106 \r
107 #define DAC_Channel_1                      ((uint32_t)0x00000000)\r
108 #define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_Channel_1))\r
109 \r
110 /**\r
111   * @}\r
112   */\r
113 \r
114 /** @defgroup DAC_data_alignment\r
115   * @{\r
116   */\r
117 \r
118 #define DAC_Align_12b_R                    ((uint32_t)0x00000000)\r
119 #define DAC_Align_12b_L                    ((uint32_t)0x00000004)\r
120 #define DAC_Align_8b_R                     ((uint32_t)0x00000008)\r
121 #define IS_DAC_ALIGN(ALIGN) (((ALIGN) == DAC_Align_12b_R) || \\r
122                              ((ALIGN) == DAC_Align_12b_L) || \\r
123                              ((ALIGN) == DAC_Align_8b_R))\r
124 /**\r
125   * @}\r
126   */\r
127 \r
128 /** @defgroup DAC_data \r
129   * @{\r
130   */\r
131 \r
132 #define IS_DAC_DATA(DATA) ((DATA) <= 0xFFF0) \r
133 \r
134 /**\r
135   * @}\r
136   */\r
137 \r
138 /** @defgroup DAC_interrupts_definition \r
139   * @{\r
140   */ \r
141   \r
142 #define DAC_IT_DMAUDR                      DAC_SR_DMAUDR1\r
143 #define IS_DAC_IT(IT) (((IT) == DAC_IT_DMAUDR)) \r
144 \r
145 /**\r
146   * @}\r
147   */ \r
148 \r
149 \r
150 /** @defgroup DAC_flags_definition \r
151   * @{\r
152   */ \r
153   \r
154 #define DAC_FLAG_DMAUDR                    DAC_SR_DMAUDR1\r
155   \r
156 #define IS_DAC_FLAG(FLAG) (((FLAG) == DAC_FLAG_DMAUDR))\r
157 \r
158 /**\r
159   * @}\r
160   */ \r
161 \r
162 /**\r
163   * @}\r
164   */ \r
165 \r
166 /* Exported macro ------------------------------------------------------------*/\r
167 /* Exported functions ------------------------------------------------------- */\r
168 \r
169 /*  Function used to set the DAC configuration to the default reset state *****/\r
170 void DAC_DeInit(void);\r
171 \r
172 /*  DAC channels configuration: trigger, output buffer, data format functions */\r
173 void DAC_Init(uint32_t DAC_Channel, DAC_InitTypeDef* DAC_InitStruct);\r
174 void DAC_StructInit(DAC_InitTypeDef* DAC_InitStruct);\r
175 void DAC_Cmd(uint32_t DAC_Channel, FunctionalState NewState);\r
176 void DAC_SoftwareTriggerCmd(uint32_t DAC_Channel, FunctionalState NewState);\r
177 void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data);\r
178 uint16_t DAC_GetDataOutputValue(uint32_t DAC_Channel);\r
179 \r
180 /* DMA management functions ***************************************************/\r
181 void DAC_DMACmd(uint32_t DAC_Channel, FunctionalState NewState);\r
182 \r
183 /* Interrupts and flags management functions **********************************/\r
184 void DAC_ITConfig(uint32_t DAC_Channel, uint32_t DAC_IT, FunctionalState NewState);\r
185 FlagStatus DAC_GetFlagStatus(uint32_t DAC_Channel, uint32_t DAC_FLAG);\r
186 void DAC_ClearFlag(uint32_t DAC_Channel, uint32_t DAC_FLAG);\r
187 ITStatus DAC_GetITStatus(uint32_t DAC_Channel, uint32_t DAC_IT);\r
188 void DAC_ClearITPendingBit(uint32_t DAC_Channel, uint32_t DAC_IT);\r
189 \r
190 #ifdef __cplusplus\r
191 }\r
192 #endif\r
193 \r
194 #endif /*__STM32F0XX_DAC_H */\r
195 \r
196 /**\r
197   * @}\r
198   */ \r
199 \r
200 /**\r
201   * @}\r
202   */ \r
203 \r
204 /******************* (C) COPYRIGHT 2012 STMicroelectronics *****END OF FILE****/\r