TM STM32F4xx Libraries  v1.0.0
Libraries for STM32F4xx devices from Tilen Majerle
tm_stm32f4_adc.h
1 
30 #ifndef TM_ADC_H
31 #define TM_ADC_H 120
32 
94 #include "stm32f4xx.h"
95 #include "stm32f4xx_rcc.h"
96 #include "stm32f4xx_gpio.h"
97 #include "stm32f4xx_adc.h"
98 #include "defines.h"
99 #include "tm_stm32f4_gpio.h"
100 
110 #ifndef TM_ADC1_RESOLUTION
111 #define TM_ADC1_RESOLUTION ADC_Resolution_12b
112 #endif
113 
117 #ifndef TM_ADC2_RESOLUTION
118 #define TM_ADC2_RESOLUTION ADC_Resolution_12b
119 #endif
120 
124 #ifndef TM_ADC3_RESOLUTION
125 #define TM_ADC3_RESOLUTION ADC_Resolution_12b
126 #endif
127 
131 #ifndef ADC_SUPPLY_VOLTAGE
132 #define ADC_SUPPLY_VOLTAGE 3300
133 #endif
134 
137 #if defined (STM32F40_41xxx)
138 #define ADC_VBAT_MULTI 2
139 #endif
140 #if defined (STM32F427_437xx) || defined (STM32F429_439xx) || defined (STM32F401xx) || defined (STM32F411xE)
141 #define ADC_VBAT_MULTI 4
142 #endif
143 
157 typedef enum {
178 
194 void TM_ADC_InitADC(ADC_TypeDef* ADCx);
195 
202 void TM_ADC_Init(ADC_TypeDef* ADCx, uint8_t channel);
203 
210 uint16_t TM_ADC_Read(ADC_TypeDef* ADCx, uint8_t channel);
211 
217 void TM_ADC_EnableVbat(void);
218 
224 void TM_ADC_DisableVbat(void);
225 
231 uint16_t TM_ADC_ReadVbat(ADC_TypeDef* ADCx);
232 
245 #endif
void TM_ADC_DisableVbat(void)
Disables Vbat channel for ADC.
Definition: tm_stm32f4_adc.h:170
Definition: tm_stm32f4_adc.h:162
Definition: tm_stm32f4_adc.h:161
Definition: tm_stm32f4_adc.h:165
uint16_t TM_ADC_ReadVbat(ADC_TypeDef *ADCx)
Reads vbat pin voltage.
Definition: tm_stm32f4_adc.h:169
Definition: tm_stm32f4_adc.h:159
uint16_t TM_ADC_Read(ADC_TypeDef *ADCx, uint8_t channel)
Reads from ADCx channel.
void TM_ADC_InitADC(ADC_TypeDef *ADCx)
Initializes ADCx peripheral.
TM_ADC_Channel_t
ADC available channels.
Definition: tm_stm32f4_adc.h:157
Definition: tm_stm32f4_adc.h:163
Definition: tm_stm32f4_adc.h:175
Definition: tm_stm32f4_adc.h:168
Definition: tm_stm32f4_adc.h:164
Definition: tm_stm32f4_adc.h:173
Definition: tm_stm32f4_adc.h:174
Definition: tm_stm32f4_adc.h:176
Definition: tm_stm32f4_adc.h:166
void TM_ADC_EnableVbat(void)
Enables Vbat channel for ADC.
Definition: tm_stm32f4_adc.h:167
Definition: tm_stm32f4_adc.h:160
Definition: tm_stm32f4_adc.h:158
void TM_ADC_Init(ADC_TypeDef *ADCx, uint8_t channel)
Initializes ADCx with ADCx channel.
Definition: tm_stm32f4_adc.h:171
Definition: tm_stm32f4_adc.h:172