STM32 core 3.0.1-dev
Arduino core for STM32 based boards: API reference
← STM32duino documentation
Loading...
Searching...
No Matches
analog.h File Reference

Header for analog module. More...

#include "stm32_def.h"
#include "PeripheralPins.h"
#include "HardwareTimer.h"

Functions

uint32_t get_adc_channel (PinName pin, uint32_t *bank)
 Return the ADC channel linked to a PinName.
 
uint32_t get_adc_internal_channel (PinName pin)
 Return the ADC internal channel linked to a PinName.
 
uint16_t adc_read_value (PinName pin, uint32_t resolution)
 Read the ADC value on a pin.
 
uint32_t get_dac_channel (PinName pin)
 Return the DAC channel linked to a PinName.
 
void dac_write_value (PinName pin, uint32_t value, bool do_init)
 Set the DAC output to the required value.
 
void dac_stop (PinName pin)
 Stop the DAC output on a pin.
 
void pwm_start (PinName pin, uint32_t PWM_freq, uint32_t value, TimerCompareFormat_t resolution)
 Start PWM output on a pin with the required value.
 
void pwm_stop (PinName pin)
 Stop PWM output on a pin (disable the PWM and release its HardwareTimer instance).
 

Detailed Description

Header for analog module.

Author
WI6LABS
Version
V1.0.0
Date
01-August-2016
Attention

© COPYRIGHT(c) 2016 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Function Documentation

◆ adc_read_value()

uint16_t adc_read_value ( PinName  pin,
uint32_t  resolution 
)

Read the ADC value on a pin.

Parameters
pinPinName to read.
resolutionResolution of the converted data: 6/8/10/12/14/16.
Returns
The converted ADC value, in the requested resolution.

◆ dac_stop()

void dac_stop ( PinName  pin)

Stop the DAC output on a pin.

Parameters
pinPinName to use.

◆ dac_write_value()

void dac_write_value ( PinName  pin,
uint32_t  value,
bool  do_init 
)

Set the DAC output to the required value.

Parameters
pinPinName to use.
valueValue to push on the DAC output.
do_initIf true, the DAC (clock, GPIO and channel) is initialized before writing the value.

◆ get_adc_channel()

uint32_t get_adc_channel ( PinName  pin,
uint32_t *  bank 
)

Return the ADC channel linked to a PinName.

Parameters
pinPinName.
bankPointer to get the ADC channel bank (A or B), if required by the series. Left untouched on series without channel banks.
Returns
The ADC channel.

◆ get_adc_internal_channel()

uint32_t get_adc_internal_channel ( PinName  pin)

Return the ADC internal channel linked to a PinName.

Parameters
pinPinName, one of the ADC internal PinNames: PADC_TEMP, PADC_TEMP_ADC5, PADC_VREF, PADC_VBAT.
Note
Not all of these values may be available for all series.
Returns
The ADC internal channel.

◆ get_dac_channel()

uint32_t get_dac_channel ( PinName  pin)

Return the DAC channel linked to a PinName.

Parameters
pinPinName.
Returns
The DAC channel.

◆ pwm_start()

void pwm_start ( PinName  pin,
uint32_t  PWM_freq,
uint32_t  value,
TimerCompareFormat_t  resolution 
)

Start PWM output on a pin with the required value.

Parameters
pinPinName to use.
PWM_freqPWM frequency in Hertz.
valueValue to push on the PWM output, expressed according to resolution.
resolutionFormat of value (see TimerCompareFormat_t).

◆ pwm_stop()

void pwm_stop ( PinName  pin)

Stop PWM output on a pin (disable the PWM and release its HardwareTimer instance).

Parameters
pinPinName to use.