STM32F37 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F37 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Enumerator Groups

DAC driver modules. More...

Modules

 DAC_Exported_Constants
 
 DAC_Private_Functions
 

Data Structures

struct  DAC_InitTypeDef
 DAC Init structure definition. More...
 

Macros

#define CR_CLEAR_MASK   ((uint32_t)0x00000FFE)
 
#define DUAL_SWTRIG_SET   ((uint32_t)0x00000003)
 
#define DUAL_SWTRIG_RESET   ((uint32_t)0xFFFFFFFC)
 
#define DHR12R1_OFFSET   ((uint32_t)0x00000008)
 
#define DHR12R2_OFFSET   ((uint32_t)0x00000014)
 
#define DHR12RD_OFFSET   ((uint32_t)0x00000020)
 
#define DOR_OFFSET   ((uint32_t)0x0000002C)
 

Functions

void DAC_DeInit (DAC_TypeDef *DACx)
 Deinitializes the DAC peripheral registers to their default reset values. More...
 
void DAC_Init (DAC_TypeDef *DACx, uint32_t DAC_Channel, DAC_InitTypeDef *DAC_InitStruct)
 Initializes the DAC peripheral according to the specified parameters in the DAC_InitStruct. More...
 
void DAC_StructInit (DAC_InitTypeDef *DAC_InitStruct)
 Fills each DAC_InitStruct member with its default value. More...
 
void DAC_Cmd (DAC_TypeDef *DACx, uint32_t DAC_Channel, FunctionalState NewState)
 Enables or disables the specified DAC channel. More...
 
void DAC_SoftwareTriggerCmd (DAC_TypeDef *DACx, uint32_t DAC_Channel, FunctionalState NewState)
 Enables or disables the selected DAC channel software trigger. More...
 
void DAC_DualSoftwareTriggerCmd (DAC_TypeDef *DACx, FunctionalState NewState)
 Enables or disables simultaneously the two DAC channels software triggers. More...
 
void DAC_WaveGenerationCmd (DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t DAC_Wave, FunctionalState NewState)
 Enables or disables the selected DAC channel wave generation. More...
 
void DAC_SetChannel1Data (DAC_TypeDef *DACx, uint32_t DAC_Align, uint16_t Data)
 Set the specified data holding register value for DAC channel1. More...
 
void DAC_SetChannel2Data (DAC_TypeDef *DACx, uint32_t DAC_Align, uint16_t Data)
 Set the specified data holding register value for DAC channel2. More...
 
void DAC_SetDualChannelData (DAC_TypeDef *DACx, uint32_t DAC_Align, uint16_t Data2, uint16_t Data1)
 Set the specified data holding register value for dual channel DAC. More...
 
uint16_t DAC_GetDataOutputValue (DAC_TypeDef *DACx, uint32_t DAC_Channel)
 Returns the last data output value of the selected DAC channel. More...
 
void DAC_DMACmd (DAC_TypeDef *DACx, uint32_t DAC_Channel, FunctionalState NewState)
 Enables or disables the specified DAC channel DMA request. When enabled DMA1 is generated when an external trigger (EXTI Line9, TIM2, TIM4, TIM6, TIM7 or TIM9 but not a software trigger) occurs. More...
 
void DAC_ITConfig (DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t DAC_IT, FunctionalState NewState)
 Enables or disables the specified DAC interrupts. More...
 
FlagStatus DAC_GetFlagStatus (DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t DAC_FLAG)
 Checks whether the specified DAC flag is set or not. More...
 
void DAC_ClearFlag (DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t DAC_FLAG)
 Clears the DAC channel's pending flags. More...
 
ITStatus DAC_GetITStatus (DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t DAC_IT)
 Checks whether the specified DAC interrupt has occurred or not. More...
 
void DAC_ClearITPendingBit (DAC_TypeDef *DACx, uint32_t DAC_Channel, uint32_t DAC_IT)
 Clears the DAC channel's interrupt pending bits. More...
 

Detailed Description

DAC driver modules.

Function Documentation

void DAC_ClearFlag ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
uint32_t  DAC_FLAG 
)

Clears the DAC channel's pending flags.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
DAC_FLAG,:specifies the flag to clear. This parameter can be:
  • DAC_FLAG_DMAUDR: DMA underrun flag
Return values
None
void DAC_ClearITPendingBit ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
uint32_t  DAC_IT 
)

Clears the DAC channel's interrupt pending bits.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
DAC_IT,:specifies the DAC interrupt pending bit to clear. This parameter can be the following values:
  • DAC_IT_DMAUDR: DMA underrun interrupt mask
Return values
None
void DAC_Cmd ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
FunctionalState  NewState 
)

Enables or disables the specified DAC channel.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:The selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
NewState,:new state of the DAC channel. This parameter can be: ENABLE or DISABLE.
Note
When the DAC channel is enabled the trigger source can no more be modified.
Return values
None
void DAC_DeInit ( DAC_TypeDef *  DACx)

Deinitializes the DAC peripheral registers to their default reset values.

Parameters
None
Return values
None
void DAC_DMACmd ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
FunctionalState  NewState 
)

Enables or disables the specified DAC channel DMA request. When enabled DMA1 is generated when an external trigger (EXTI Line9, TIM2, TIM4, TIM6, TIM7 or TIM9 but not a software trigger) occurs.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
NewState,:new state of the selected DAC channel DMA request. This parameter can be: ENABLE or DISABLE.
Note
The DAC channel1 (channel2) is mapped on DMA1 channel3 (channel4) which must be already configured.
Return values
None
void DAC_DualSoftwareTriggerCmd ( DAC_TypeDef *  DACx,
FunctionalState  NewState 
)

Enables or disables simultaneously the two DAC channels software triggers.

Parameters
DACx,:where x can be 1 to select the DAC1 peripheral.
Note
Dual trigger is not applicable for DAC2 (DAC2 integrates one channel).
Parameters
NewState,:new state of the DAC channels software triggers. This parameter can be: ENABLE or DISABLE.
Return values
None
uint16_t DAC_GetDataOutputValue ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel 
)

Returns the last data output value of the selected DAC channel.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
Return values
Theselected DAC channel data output value.
FlagStatus DAC_GetFlagStatus ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
uint32_t  DAC_FLAG 
)

Checks whether the specified DAC flag is set or not.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:thee selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
DAC_FLAG,:specifies the flag to check. This parameter can be:
  • DAC_FLAG_DMAUDR: DMA underrun flag
Note
The DMA underrun occurs when a second external trigger arrives before the acknowledgement for the first external trigger is received (first request).
Return values
Thenew state of DAC_FLAG (SET or RESET).
ITStatus DAC_GetITStatus ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
uint32_t  DAC_IT 
)

Checks whether the specified DAC interrupt has occurred or not.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
DAC_IT,:specifies the DAC interrupt source to check. This parameter can be:
  • DAC_IT_DMAUDR: DMA underrun interrupt mask
Note
The DMA underrun occurs when a second external trigger arrives before the acknowledgement for the first external trigger is received (first request).
Return values
Thenew state of DAC_IT (SET or RESET).
void DAC_Init ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
DAC_InitTypeDef DAC_InitStruct 
)

Initializes the DAC peripheral according to the specified parameters in the DAC_InitStruct.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
DAC_InitStruct,:pointer to a DAC_InitTypeDef structure that contains the configuration information for the specified DAC channel.
Return values
None
void DAC_ITConfig ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
uint32_t  DAC_IT,
FunctionalState  NewState 
)

Enables or disables the specified DAC interrupts.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
DAC_IT,:specifies the DAC interrupt sources to be enabled or disabled. This parameter can be:
  • DAC_IT_DMAUDR: DMA underrun interrupt mask
Note
The DMA underrun occurs when a second external trigger arrives before the acknowledgement for the first external trigger is received (first request).
Parameters
NewState,:new state of the specified DAC interrupts. This parameter can be: ENABLE or DISABLE.
Return values
None
void DAC_SetChannel1Data ( DAC_TypeDef *  DACx,
uint32_t  DAC_Align,
uint16_t  Data 
)

Set the specified data holding register value for DAC channel1.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Align,:Specifies the data alignment for DAC channel1. This parameter can be one of the following values:
  • DAC_Align_8b_R: 8bit right data alignment selected
  • DAC_Align_12b_L: 12bit left data alignment selected
  • DAC_Align_12b_R: 12bit right data alignment selected
Data,:Data to be loaded in the selected data holding register.
Return values
None
void DAC_SetChannel2Data ( DAC_TypeDef *  DACx,
uint32_t  DAC_Align,
uint16_t  Data 
)

Set the specified data holding register value for DAC channel2.

Parameters
DACx,:where x can be 1 to select the DAC peripheral.
Note
This function is available only for DAC1.
Parameters
DAC_Align,:Specifies the data alignment for DAC channel2. This parameter can be one of the following values:
  • DAC_Align_8b_R: 8bit right data alignment selected
  • DAC_Align_12b_L: 12bit left data alignment selected
  • DAC_Align_12b_R: 12bit right data alignment selected
Data: Data to be loaded in the selected data holding register.
Return values
None
void DAC_SetDualChannelData ( DAC_TypeDef *  DACx,
uint32_t  DAC_Align,
uint16_t  Data2,
uint16_t  Data1 
)

Set the specified data holding register value for dual channel DAC.

Parameters
DACx,:where x can be 1 to select the DAC peripheral.
Note
This function isn't applicable for DAC2.
Parameters
DAC_Align,:Specifies the data alignment for dual channel DAC. This parameter can be one of the following values:
  • DAC_Align_8b_R: 8bit right data alignment selected
  • DAC_Align_12b_L: 12bit left data alignment selected
  • DAC_Align_12b_R: 12bit right data alignment selected
Data2,:Data for DAC Channel2 to be loaded in the selected data holding register.
Data1,:Data for DAC Channel1 to be loaded in the selected data holding register.
Note
In dual mode, a unique register access is required to write in both DAC channels at the same time.
Return values
None
void DAC_SoftwareTriggerCmd ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
FunctionalState  NewState 
)

Enables or disables the selected DAC channel software trigger.

Parameters
DACx,:where x can be 1 or 2 to select the DAC peripheral.
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
NewState,:new state of the selected DAC channel software trigger. This parameter can be: ENABLE or DISABLE.
Return values
None
void DAC_StructInit ( DAC_InitTypeDef DAC_InitStruct)

Fills each DAC_InitStruct member with its default value.

Parameters
DAC_InitStruct,:pointer to a DAC_InitTypeDef structure which will be initialized.
Return values
None
void DAC_WaveGenerationCmd ( DAC_TypeDef *  DACx,
uint32_t  DAC_Channel,
uint32_t  DAC_Wave,
FunctionalState  NewState 
)

Enables or disables the selected DAC channel wave generation.

Parameters
DACx,:where x can be 1 to select the DAC1 peripheral.
Note
Wave generation is not available in DAC2.
Parameters
DAC_Channel,:the selected DAC channel. This parameter can be one of the following values:
  • DAC_Channel_1: DAC Channel1 selected
  • DAC_Channel_2: DAC Channel2 selected
DAC_Wave,:Specifies the wave type to enable or disable. This parameter can be one of the following values:
  • DAC_Wave_Noise: noise wave generation
  • DAC_Wave_Triangle: triangle wave generation
NewState,:new state of the selected DAC channel wave generation. This parameter can be: ENABLE or DISABLE.
Note
Return values
None