ADC - аналого-цифровой преобразователь микроконтроллера STM32F10x


Offset: 0x00
ADC status register
Регистр состояния АЦП
Offset: 0x04
ADC control register 1
Первый регистр управления АЦП
Offset: 0x08
ADC control register 2
Второй регистр управления АЦП
Offset: 0x0C
ADC sample time register 1
Первый регистр временных выборок АЦП
Offset: 0x10
ADC sample time register 2
Второй регистр временных выборок АЦП
Offset: 0x14 - 0x20
ADC injected channel data offset register x (x=1..4)
Offset: 0x24
ADC watchdog high threshold register
Регистр верхней границы аналогового сторожевого таймера АЦП
Offset: 0x28
ADC watchdog low threshold register
Регистр нижней границы аналогового сторожевого таймера АЦП
Offset: 0x2C
ADC regular sequence register 1
Первый регистр назначения регулярных каналов АЦП
Offset: 0x30
ADC regular sequence register 2
Второй регистр назначения регулярных каналов АЦП
Offset: 0x34
ADC regular sequence register 3
Третий регистр назначения регулярных каналов АЦП
Offset: 0x38
ADC injected sequence register
Регистр назначения инжекционных каналов АЦП
Offset: 0x3C - 0x48
ADC injected data register x (x= 1..4)
Регистр данных инжекционных каналов АЦП
Offset: 0x4C
ADC regular data register
Регистр данных регулярного канала АЦП



#define PERIPH_BASE         ((uint32_t)0x40000000)      /* Peripheral base address in the alias region */
#define APB2PERIPH_BASE     (PERIPH_BASE + 0x10000)
#define ADC1_BASE           (APB2PERIPH_BASE + 0x2400)
#define ADC2_BASE           (APB2PERIPH_BASE + 0x2800)
#define ADC3_BASE           (APB2PERIPH_BASE + 0x3C00)


typedef struct
{
  __IO uint32_t SR;
  __IO uint32_t CR1;
  __IO uint32_t CR2;
  __IO uint32_t SMPR1;
  __IO uint32_t SMPR2;
  __IO uint32_t JOFR1;
  __IO uint32_t JOFR2;
  __IO uint32_t JOFR3;
  __IO uint32_t JOFR4;
  __IO uint32_t HTR;
  __IO uint32_t LTR;
  __IO uint32_t SQR1;
  __IO uint32_t SQR2;
  __IO uint32_t SQR3;
  __IO uint32_t JSQR;
  __IO uint32_t JDR1;
  __IO uint32_t JDR2;
  __IO uint32_t JDR3;
  __IO uint32_t JDR4;
  __IO uint32_t DR;
} ADC_TypeDef;


ADC1_2_IRQn  = 18,     /*  ADC1 and ADC2 global Interrupt  */
ADC3_IRQn    = 47,     /*  ADC3 global Interrupt           */