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

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