modm API documentation for STM32F437ZIT7
|
#include <modm/platform/adc/adc_interrupt_2.hpp>
Public Types | |
enum | Channel : uint8_t { Channel0 = 0, Channel1 = 1, Channel2 = 2, Channel3 = 3, Channel4 = 4, Channel5 = 5, Channel6 = 6, Channel7 = 7, Channel8 = 8, Channel9 = 9, Channel10 = 10, Channel11 = 11, Channel12 = 12, Channel13 = 13, Channel14 = 14, Channel15 = 15, Channel16 = 16, Channel17 = 17, Channel18 = 18, Channel::BatDiv2 = 18, Channel::TemperatureSensor = 16, Channel::InternalReference = 17 } |
enum | ExternalTriggerPolarity { NoTriggerDetection = 0x0u, RisingEdge = 0x1u, FallingEdge = 0x2u, RisingAndFallingEdge = 0x3u } |
enum | Interrupt : uint32_t { Interrupt::AnalogWatchdog = ADC_CR1_AWDIE, Interrupt::EndOfRegularConversion = ADC_CR1_EOCIE, Interrupt::EndOfInjectedConversion = ADC_CR1_JEOCIE, Interrupt::Overrun = ADC_CR1_OVRIE } |
enum | InterruptFlag : uint32_t { InterruptFlag::AnalogWatchdog = ADC_SR_AWD, InterruptFlag::EndOfRegularConversion = ADC_SR_EOC, InterruptFlag::EndOfInjectedConversion = ADC_SR_JEOC, InterruptFlag::Overrun = ADC_SR_OVR, InterruptFlag::All = ADC_SR_AWD | ADC_SR_EOC | ADC_SR_JEOC | ADC_SR_OVR } |
enum | RegularConversionExternalTrigger { Event0 = 0x0u, Event1 = 0x1u, Event2 = 0x2u, Event3 = 0x3u, Event4 = 0x4u, Event5 = 0x5u, Event6 = 0x6u, Event7 = 0x7u, Event8 = 0x8u, Event9 = 0x9u, Event10 = 0xAu, Event11 = 0xBu, Event12 = 0xCu, Event13 = 0xDu, Event14 = 0xEu, Event15 = 0xFu } |
enum | SampleTime : uint8_t { SampleTime::Cycles3 = 0b000, SampleTime::Cycles15 = 0b001, SampleTime::Cycles28 = 0b010, SampleTime::Cycles56 = 0b011, SampleTime::Cycles84 = 0b100, SampleTime::Cycles112 = 0b101, SampleTime::Cycles144 = 0b110, SampleTime::Cycles480 = 0b111 } |
Public Member Functions | |
MODM_FLAGS32 (Interrupt) | |
MODM_FLAGS32 (InterruptFlag) | |
Static Public Member Functions | |
static void | attachInterruptHandler (Handler handler) |
static void | acknowledgeInterruptFlag () |
static void | acknowledgeInterruptFlags (const InterruptFlag_t flags) |
static bool | addChannel (const Channel channel, const SampleTime sampleTime=static_cast< SampleTime >(0b000)) |
Add a channel to conversion group. | |
template<uint64_t available, uint64_t requested, percent_t tolerance> | |
static void | assertBaudrateInTolerance () |
template<double available, double requested, percent_t tolerance> | |
static void | assertDurationInTolerance () |
static void | configurePurpose () |
configures a peripheral for a specific purpose | |
template<class... Signals> | |
static void | connect () |
static void | disable () |
static void | disableDmaMode () |
static void | disableDmaRequests () |
static void | disableFreeRunningMode () |
static void | disableInterrupt (const Interrupt_t interrupt) |
static void | disableScanMode () |
static void | disableTemperatureRefVMeasurement () |
Switch on temperature- and V_REF measurement. | |
static void | enable () |
static void | enableDmaMode () |
static void | enableDmaRequests () |
static void | enableFreeRunningMode () |
static void | enableInterrupt (const Interrupt_t interrupt) |
static void | enableInterruptVector (const uint32_t priority, const bool enable=true) |
static void | enableRegularConversionExternalTrigger (ExternalTriggerPolarity externalTriggerPolarity, RegularConversionExternalTrigger regularConversionExternalTrigger) |
static void | enableScanMode () |
static void | enableTemperatureRefVMeasurement () |
Switch on temperature- and V_REF measurement. | |
static bool | getAdcEnabled () |
static Channel | getChannel () |
static uintptr_t | getDataRegisterAddress () |
static bool | getInterruptFlag () |
Read an interrupt flag. | |
static InterruptFlag_t | getInterruptFlags () |
static void | getParameter () |
returns a parameter | |
template<class Gpio > | |
static constexpr Channel | getPinChannel () |
Get the channel for a Pin. | |
static uint16_t | getValue () |
template<class SystemClock , frequency_t frequency = MHz(10), percent_t tolerance = pct(10)> | |
static void | initialize () |
static bool | isConversionFinished () |
static uint16_t | readChannel (Channel channel) |
static bool | setChannel (const Channel channel, const SampleTime sampleTime=static_cast< SampleTime >(0b000)) |
static bool | setChannel (Channel channel) |
static void | setLeftAdjustResult () |
static void | setParameter () |
sets a parameter | |
template<class Gpio > | |
static bool | setPinChannel (SampleTime sampleTime=static_cast< SampleTime >(0b000)) |
Setting the channel for a Pin. | |
static void | setRightAdjustResult () |
static void | setSampleTime (const Channel channel, const SampleTime sampleTime=static_cast< SampleTime >(0b000)) |
change sample time of ADC channel | |
static void | startConversion () |
static void | acknowledgeInterruptFlag () |
template<uint64_t available, uint64_t requested, percent_t tolerance> | |
static void | assertBaudrateInTolerance () |
template<double available, double requested, percent_t tolerance> | |
static void | assertDurationInTolerance () |
static void | configurePurpose () |
configures a peripheral for a specific purpose | |
static bool | getInterruptFlag () |
Read an interrupt flag. | |
static void | getParameter () |
returns a parameter | |
static bool | setChannel (Channel channel) |
static void | setParameter () |
sets a parameter | |
Static Public Attributes | |
static Handler | handler |
static constexpr uint8_t | Resolution = 12 |
Protected Typedefs | |
typedef void (* | Handler) () |
This class allows you to attach functions to the ADC Conversion Complete Interrupt via function pointers. Be aware however, that this implementation is slower and requires more resources than writing the function code directly into the interrupt service routines.
|
inheritedstrong |
Channels, which can be used with this ADC.
You can specify the channel by using a pin-name, like PIN_C0, an internal sensor, like TEMPERATURE_SENSOR or just the plain channel number, like CHANNEL_0.
|
inheritedstrong |
Possible interrupts.
An interrupt can be produced on the end of conversion for regular and injected groups, when the analog watchdog status bit is set and when the overrun status bit is set.
|
inheritedstrong |
|
inheritedstrong |
Enum mapping all events on a external trigger converter. The source mapped to each event varies on controller family, refer to the ADC external trigger section on reference manual of your controller for more information
|
inheritedstrong |
Sampling time of the input voltage.
Total conversion time is T_con = Sampling time + 12 cycles
|
inheritedstatic |
Acknowledge an interrupt flag.
We use acknowledge here, since it describes the intention rather than the actual implementation.
|
inheritedstatic |
Acknowledge an interrupt flag.
We use acknowledge here, since it describes the intention rather than the actual implementation.
|
inheritedinlinestatic |
Clears the specified interrupt flag.
flag | The interrupt flag, which shall be cleared. |
|
inheritedinlinestatic |
Since baudrates are usually generated by prescaling a system clock, only several distinct values can be generated. This method checks if the user requested baudrate is within error tolerance of the system achievable baudrate.
|
inheritedinlinestatic |
Since baudrates are usually generated by prescaling a system clock, only several distinct values can be generated. This method checks if the user requested baudrate is within error tolerance of the system achievable baudrate.
|
inheritedinlinestatic |
Disable Dma mode for the ADC
|
inheritedinlinestatic |
disable dma selection for the ADC. If this is disabled no new DMA requests are issued after last transfer
|
inheritedinlinestatic |
|
inheritedinlinestatic |
Disables scan mode
|
inheritedinlinestatic |
Enable Dma mode for the ADC
|
inheritedinlinestatic |
enable DMA selection for the ADC. If this is enabled DMA requests are issued as long as data are converted and the adc has dma enabled
|
inheritedinlinestatic |
Enables the ADC Conversion Complete Interrupt.
You could catch the interrupt using this example function:
MODM_ISR(ADC)
MODM_ISR(ADC1_2)
priority | Priority to set |
interrupt | The interrupt, which shall be enabled. See Interrupt for available interrupts. |
|
inheritedinlinestatic |
Enables scan mode
|
inheritedinlinestatic |
get if adc is enabled
|
inheritedinlinestatic |
Returns if the th interrupt flags set.
|
inheritedstatic |
|
inheritedstatic |
Analog channel selection.
true
if the channel exists and was available, false
otherwise
|
inheritedstatic |
Analog channel selection.
true
if the channel exists and was available, false
otherwise
|
inheritedinlinestatic |
Analog channel selection.
This not for scan mode. The number of channels will be set to 1, the channel selected and the corresponding pin will be set to analog input. If the the channel is modified during a conversion, the current conversion is reset and a new start pulse is sent to the ADC to convert the new chosen channnel / group of channels.
channel | The channel which shall be read. |
sampleTime | The sample time to sample the input voltage. |
|
inheritedinlinestatic |
Start a new conversion or continuous conversions.