[Home] [Donate!] [Контакты]

ADC. Описание регистров

В предыдущей статье "ADC: аналого-цифровой преобразователь микроконтроллера" были подробно рассмотрены функции, режимы работы и особенности, порядок инициализации и применения ADC, входящего в состав микроконтроллеров линейки STM32F100xx. В данной статье даётся систематическое описание всех регистров ADC.

Оглавление
Регистры ADC
ADC_SR (ADC status register)
ADC_CR1 (ADC control register 1)
ADC_CR2 (ADC control register 2)
ADC_SMPR1 (ADC sample time register 1)
ADC_SMPR2 (ADC sample time register 2)
ADC_JOFRx, x=1..4 (ADC injected channel data offset register x, ADC_JOFR1, ADC_JOFR2, ADC_JOFR3, ADC_JOFR4)
ADC_HTR (ADC watchdog high threshold register)
ADC_LTR (ADC watchdog low threshold register)
ADC_SQR1 (ADC regular sequence register 1)
ADC_SQR2 (ADC regular sequence register 2)
ADC_SQR3 (ADC regular sequence register 3)
ADC_JSQR (ADC injected sequence register)
ADC_JDRx, x= 1..4 (ADC injected data register x, ADC_JDR1, ADC_JDR2, ADC_JDR3, ADC_JDR4)
ADC_DR (ADC regular data register)

Регистры ADC


ADC_SR (ADC status register)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
Reserved STRT JSTRT JEOC EOC AWD  
rc_w0 rc_w0 rc_w0 rc_w0 rc_w0  

Address offset: 0x00
Reset value: 0x0000 0000

STRT: Regular channel Start flag
Бит устанавливается аппаратно, когда запускается преобразование из регулярной группы. Сбрасывается программно.
0: Регулярное преобразование не запускалось.
1: Регулярное преобразование было запущено.

JSTRT: Injected channel Start flag
Бит устанавливается аппаратно, когда происходит запуск преобразования из инжектируемой группы. Сбрасывается программно.
0: Инжектируемое преобразование не запускалось.
1: Инжектируемое преобразование было запущено.

JEOC: Injected channel end of conversion
Бит устанавливается аппаратно после завершения всех преобразований из инжектируемой группы в сканирующем режиме или после каждого инжектируемого преобразования в других режимах. Если этот бит устанавливается, то EOC тоже устанавливается. Сбрасывается программно.
0: Преобразование не завершено.
1: Преобразование завершено.

EOC: End of conversion
Бит устанавливается аппаратно после завершения всех преобразований в группе (регулярной или инжектируемой) в сканирующем режиме или после каждого преобразования в других режимах. Сбрасывается программно записью 0 в бит или чтением регистра ADC_DR.
0: Преобразование не завершено.
1: Преобразование завершено.

AWD: Analog watchdog flag
Бит устанавливается аппаратно при срабатывании сторожевой схемы (если результат преобразования на одном из контролируемых каналов выходит за пределы заданных в регистрах ADC_LTR и ADC_HTR порогов). Сбрасывается программно.
0: Не происходило срабатывания сторожевой схемы.
1: Произошло срабатывание сторожевой схемы.


ADC_CR1 (ADC control register 1)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved AWDEN JAWDEN Reserved  
rw rw  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
DISCNUM[2:0] JDISCEN DISCEN JAUTO AWDSGL SCAN JEOCIE AWDIE EOCIE AWDCH[4:0]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x04
Reset value: 0x0000 0000

AWDEN: Analog watchdog enable on regular channels
Бит устанавливается и сбрасывается программно и используется для включения и отключения сторожевой схемы для каналов из регулярной группы.
0: Сторожевая схема отключена для каналов регулярной группы.
1: Сторожевая схема включена для каналов регулярной группы.

JAWDEN: Analog watchdog enable on injected channels
Бит устанавливается и сбрасывается программно и используется для включения и отключения сторожевой схемы для каналов из инжектируемой группы.
0: Сторожевая схема отключена для каналов инжектируемой группы.
1: Сторожевая схема включена для каналов инжектируемой группы.

DISCNUM[2:0]: Discontinuous mode channel count
Изменяемое программно битовое поле, которое определяет количество преобразований, которые будут последовательно выполнены для каналов регулярной группы после каждого запуска регулярного преобразования ADC при работе в прерывистом режиме. Количество выполняемых преобразований n=DISCNUM[2:0]+1:
000: 1 преобразование;
001: 2 преобразования;
...
111: 8 преобразований.

JDISCEN: Discontinuous mode on injected channels
Бит устанавливается и сбрасывается программно для включения и отключения прерывистого режима преобразования в инжектируемой группе каналов.
0: Прерывистый режим в инжектируемой группе отключён.
1: Прерывистый режим в инжектируемой группе включён.

DISCEN: Discontinuous mode on regular channels
Бит устанавливается и сбрасывается программно для включения и отключения прерывистого режима преобразования в регулярной группе каналов.
0: Прерывистый режим в регулярной группе отключён.
1: Прерывистый режим в регулярной группе включён.

JAUTO: Automatic Injected Group conversion
Бит устанавливается и сбрасывается программно для включения и отключения режима автоинжекции, когда преобразования для каналов из инжектируемой группы автоматически выполняются после завершения преобразований из регулярной группы.
0: Режим автоинжекции отключён.
1: Режим автоинжекции включён.

AWDSGL: Enable the watchdog on a single channel in scan mode
Бит устанавливается и сбрасывается программно для включения и отключения режима сторожевой схемы, в котором она контролирует результаты преобразования для единственного канала, номер которого задаётся битами AWDCH[4:0]. Биты AWDEN, JAWDEN определяют, какие преобразования (регулярные, инжектируемые) на этом канале должны контролироваться сторожевой схемой.
0: Сторожевая схема контролирует все каналы (если включена).
1: Сторожевая схема контролирует только один заданный канал (если включена).

SCAN: Scan mode
Бит устанавливается и сбрасывается программно для включения и отключения режима сканирования. В режиме сканирования, после запуска ADC последовательно произойдёт автоматическое подключение к каждому из каналов в группе и будет выполнено преобразование для него. Регулярная или инжектируемая группа будет выбрана в зависимости от способа запуска.
0: Режим сканирования отключен.
1: Режим сканирования включён.
Примечание. Установка флага завершения преобразования EOC или JEOC произойдёт только после выполнения последнего преобразования в группе.

Биты JEOCIE, AWDIE, EOCIE используются для разрешения или запрета генерации прерывания от ADC при установке соответствующего флага (JEOC, AWD, EOC).
Значение 0 запрещает генерацию прерывания при установке соответствующего флага;
Значение 1 разрешает генерацию прерывания.

JEOCIE: Interrupt enable for injected channels
Бит устанавливается и сбрасывается программно для включения и отключения генерации прерывания при установке флага JEOC (при завершении инжектируемого преобразования).
0: Отключить генерацию прерывания при установке флага JEOC.
1: Включить генерацию прерывания при установке флага JEOC.

AWDIE: Analog watchdog interrupt enable
Бит устанавливается и сбрасывается программно для включения и отключения генерации прерывания при установке флага AWD (при срабатывании сторожевой схемы).
0: Отключить генерацию прерывания при срабатывании сторожевой схемы.
1: Включить генерацию прерывания при срабатывании сторожевой схемы.

EOCIE: Interrupt enable for EOC
Бит устанавливается и сбрасывается программно для включения и отключения генерации прерывания при установке флага EOC (после выполнения преобразования, как регулярного, так и инжектируемого).
0: Отключить генерацию прерывания при установке флага EOC.
1: Включить генерацию прерывания при установке флага EOC.

AWDCH[4:0]: Analog watchdog channel select bits
Изменяемое программно битовое поле, содержит номер канала, контролируемого сторожевой схемой. Значение используется в том случае, когда установлен бит AWDSGL.
Допустимые значения: 0..17 (00000..10001).
Каналы 16, 17 внутренне подключены к датчику температуры микроконтроллера и встроенному источнику опорного напряжения VREFINT соответственно; перед использованием, их требуется включить установкой бита TSVREFE в регистре ADC_CR2.


ADC_CR2 (ADC control register 2)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved TSVREFE SWSTART JSWSTART EXTTRIG EXTSEL[2:0] Res.  
rw rw rw rw rw rw rw    
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
JEXTTRIG JEXTSEL[2:0] ALIGN Reserved DMA Reserved RSTCAL CAL CONT ADON  
rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x08
Reset value: 0x0000 0000

TSVREFE: Temperature sensor and VREFINT enable
Бит устанавливается и сбрасывается программно для включения/отключения датчика температуры и источника опорного напряжения. После установки бита требуется от 4 до 10 мкс до полной готовности датчика температуры.
0: Датчик температуры и источник опорного напряжения отключены.
1: Датчик температуры и источник опорного напряжения включены.

SWSTART: Start conversion of regular channels
Бит устанавливается программно для запуска преобразования и сбрасывается программно либо аппаратно (сразу же после старта преобразования). Установка бита запускает регулярное преобразование. Этот способ запуска работает только в том случае, если разрешён старт регулярных преобразований по внешнему сигналу запуска (EXTTRIG=1) и в качестве внешнего сигнала запуска EXTSEL[2:0] выбран вариант запуска посредством установки SWSTART (EXTSEL[2:0]=111).
0: Сброшенное состояние.
1: Запускает регулярное преобразование (если выполнены перечисленные выше условия).

JSWSTART: Start conversion of injected channels
Бит устанавливается программно для запуска преобразования и сбрасывается программно либо аппаратно (сразу же после старта преобразования). Установка бита запускает инжектируемое преобразование. Этот способ запуска работает только в том случае, если разрешён старт инжектируемых преобразований по внешнему сигналу запуска (JEXTTRIG=1) и в качестве внешнего сигнала запуска JEXTSEL[2:0] выбран вариант запуска посредством установки JSWSTART (JEXTSEL[2:0]=111).
0: Сброшенное состояние.
1: Запускает инжектируемое преобразование (если выполнены перечисленные выше условия).

EXTTRIG: External trigger conversion mode for regular channels
Бит устанавливается и сбрасывается программно для включения/отключения возможности запуска регулярного преобразования внешним сигналом запуска.
0: Разрешён запуск внешним сигналом.
1: Отключён запуск внешним сигналом.

EXTSEL[2:0]: External event select for regular group
Битовое поле используется для того, чтобы выбрать источник сигнала для запуска преобразования в регулярной группе:
000: Timer 1 CC1 event
001: Timer 1 CC2 event
010: Timer 1 CC3 event
011: Timer 2 CC2 event
100: Timer 3 TRGO event
101: Timer 4 CC4 event
110: EXTI line 11
111: SWSTART

JEXTTRIG: External trigger conversion mode for injected channels
Бит устанавливается и сбрасывается программно для включения/отключения возможности запуска инжектируемого преобразования внешним сигналом запуска.
0: Разрешён запуск внешним сигналом.
1: Отключён запуск внешним сигналом.

JEXTSEL[2:0]: External event select for injected group
Битовое поле используется для того, чтобы выбрать источник сигнала для запуска преобразования в инжектируемой группе:
000: Timer 1 TRGO event
001: Timer 1 CC4 event
010: Timer 2 TRGO event
011: Timer 2 CC1 event
100: Timer 3 CC4 event
101: Timer 4 TRGO event
110: EXTI line15
111: JSWSTART

ALIGN: Data alignment
Бит устанавливается и сбрасывается программно, используется для выбора варианта выравнивания результата аналого-цифрового преобразования в регистрах данных.
0: Выравнивание вправо.
1: Выравнивание влево.

DMA: Direct memory access mode
Бит устанавливается и сбрасывается программно для включения/отключения генерации запросов DMA.
0: DMA режим отключён.
1: DMA режим включён.

RSTCAL: Reset calibration
Бит устанавливается программно для сброса калибровки ADC, сбрасывается аппаратно после завершения инициализации регистров калибровки.
0: Инициализация регистров калибровки завершена.
1: Сбросить калибровку ADC.
Примечание. Если бит RSTCAL устанавливается в то время, когда происходит процесс преобразования, потребуются дополнительные циклы для сброса регистров калибровки.

CAL: A/D Calibration
Бит устанавливается программно для запуска калибровки ADC. Сбрасывается аппаратно после завершения калибровки.
0: Калибровка завершена.
1: Запустить калибровку.

CONT: Continuous conversion
Бит устанавливается и сбрасывается программно. Если бит установлен, преобразование будет выполняться в непрерывном режиме до сброса данного бита (непрерывность означает, что сразу после завершения одного преобразования будет автоматически запускаться следующее).
0: Режим однократного преобразования.
1: Режим непрерывного преобразования.

ADON: A/D converter ON / OFF
Бит устанавливается и сбрасывается программно. Если этот бит содержал значение 0, запись 1 в него включает питание ADC. Для включения может потребоваться время tSTAB от 0 до 1 мкс (типичное значение 0). Если бит содержал 1, запись в него 1 запускает процесс преобразования для канала из регулярной группы.
0: Прекратить преобразование/калибровку и отключить питание ADC.
1: Включить питание или запустить преобразование (в зависимости от предыдущего состояния бита).
Примечание. Если изменяется любой бит регистра ADC_CR2, не считая ADON, то преобразование не запускается. Это сделано для того, чтобы можно было модифицировать настройки ADC, управляемые регистром ADC_CR2, не вызывая ложных запусков ADC.


ADC_SMPR1 (ADC sample time register 1)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved SMP17[2:0] SMP16[2:0] SMP15[2:1]  
rw rw rw rw rw rw rw rw  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
SMP15[0] SMP14[2:0] SMP13[2:0] SMP12[2:0] SMP11[2:0] SMP10[2:0]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x0C
Reset value: 0x0000 0000

ADC_SMPR2 (ADC sample time register 2)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved SMP9[2:0] SMP8[2:0] SMP7[2:0] SMP6[2:0] SMP5[2:1]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
SMP5[0] SMP4[2:0] SMP3[2:0] SMP2[2:0] SMP1[2:0] SMP0[2:0]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x10
Reset value: 0x0000 0000

SMPx[2:0]: Channel x Sample time selection
Модифицируемые программно битовые поля, которые в индивидуальном порядке определяют время выборки в тактах ADC для каждого канала ADC. Должны оставаться неизменными во время циклов выборки.
000: 1.5 такта;
001: 7.5 тактов;
010: 13.5 тактов;
011: 28.5 тактов;
100: 41.5 тактов;
101: 55.5 тактов;
110: 71.5 тактов;
111: 239.5 тактов.


ADC_JOFRx, x=1..4 (ADC injected channel data offset register x)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved  
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
Reserved JOFFSETx[11:0]  
rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x14-0x20
Reset value: 0x0000 0000

JOFFSETx[11:0]: Data offset for injected channel x
Эти битовые поля модифицируются программно и содержат величины, которые вычитаются из результатов преобразований для инжектируемых каналов перед сохранением в соответствующий регистр данных ADC_JDRx.


ADC_HTR (ADC watchdog high threshold register)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved  
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
Reserved HT[11:0]  
rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x24
Reset value: 0x0000 0FFF

HT[11:0]: Analog watchdog high threshold
Данное битовое поле модифицируется программно и определяет значение для верхнего порога сторожевой схемы.


ADC_LTR (ADC watchdog low threshold register)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved  
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
Reserved LT[11:0]  
rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x28
Reset value: 0x0000 0000

LT[11:0]: Analog watchdog low threshold
Данное битовое поле модифицируется программно и определяет значение для нижнего порога сторожевой схемы.


ADC_SQR1 (ADC regular sequence register 1)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved L[3:0] SQ16[4:1]  
rw rw rw rw rw rw rw rw  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
SQ16[0] SQ15[4:0] SQ14[4:0] SQ13[4:0]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x2C
Reset value: 0x0000 0000

L[3:0]: Regular channel sequence length
Данное битовое поле модифицируется программно и определяет общее количество преобразований в регулярной последовательности преобразований (определяет размер регулярной группы), n=L[3:0]+1:
0000: 1 преобразование;
0001: 2 преобразования;
.....
1111: 16 преобразований.

SQ16[4:0]: 16th conversion in regular sequence
Данное битовое поле модифицируется программно и задаёт номер канала (0..17), который будет назначен для 16-го преобразования в последовательности. То есть, когда ADC будет выполнять 16-е регулярное преобразование, он автоматически подключится к каналу, заданному в SQ16[4:0] и будет использовать его как источник сигнала (в том случае, конечно, если последовательность имеет длину 16 элементов).

SQx[4:0]: xth conversion in regular sequence
Аналогичным образом, битовое поле SQx[4:0] задаёт номер канала, используемого как источник сигнала при выполнении регулярного преобразования с порядковым номером x.

Если длина последовательности определена равной n (L[3:0]=n-1), то должны быть заданы битовые поля SQx, x=1..n; инициализировать остальные нет необходимости.


ADC_SQR2 (ADC regular sequence register 2)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserv SQ12[4:0] SQ11[4:0] SQ10[4:1]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
  SQ9[4:0] SQ8[4:0] SQ7[4:0]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x30
Reset value: 0x0000 0000

Назначение битов SQx[4:0] смотрите в описании регистра ADC_SQR1.


ADC_SQR3 (ADC regular sequence register 3)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserv SQ6[4:0] SQ5[4:0] SQ4[4:1]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
  SQ3[4:0] SQ2[4:0] SQ1[4:0]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x34
Reset value: 0x0000 0000

Назначение битов SQx[4:0] смотрите в описании регистра ADC_SQR1.

Номер канала в SQ1[4:0] используется в режиме однократного преобразования и в непрерывном режиме, остальные биты этого регистра и содержимое регистров ADC_SQR1, ADC_SQR2 в этих режимах игнорируются.


ADC_JSQR (ADC injected sequence register)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved JL[1:0] JSQ4[4:1]  
rw rw rw rw rw rw  
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
JSQ4[0] JSQ3[4:0] JSQ2[4:0] JSQ1[4:0]  
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw  

Address offset: 0x38
Reset value: 0x0000 0000

JL[1:0]: Injected sequence length
Данное битовое поле модифицируется программно и определяет общее количество преобразований в инжектируемой последовательности, n=JL[1:0]+1:
00: 1 преобразование;
01: 2 преобразования;
10: 3 преобразования;
11: 4 преобразования.

JSQx[4:0], x=1, 2, 3, 4: 1th (2th, 3th, 4th) conversion in injected sequence.
Битовое поле задаётся программно и определяет номер канала, используемого в данном по счёту инжектируемом преобразовании.

В случае инжектируемой группы имеются отличия по сравнению с регулярной группой в способе определения и порядке выполнения преобразований. Заданные номерами 1, 2, 3, 4 элементы группы будут использоваться в таком порядке только в случае, если определена последовательность максимальной длины, когда JL[1:0]=3, n=4. Если же n<4, то выполнение начнётся с элемента 4-JL и продолжится до 4-го элемента (т.е. будут выполнены преобразования для n последних элементов группы).

Пример: значение регистра
ADC_JSQR[21:0] = 10 00011 00011 00111 00010
задаёт следующую последовательность использования каналов из 3-х элементов: 7, 3, 3.
Здесь
JL[2:0]=10=2, n=3;
JSQ4[4:0]=00011=3, в последнем преобразовании используется канал 3;
JSQ3[4:0]=00011=3, во втором преобразовании используется канал 3;
JSQ2[4:0]=00111=7, в первом преобразовании используется канал 7;
JSQ1[4:0]=00010=2, данное поле игнорируется при длине последовательности менее 4.

В зависимости от значения JL, будет использоваться следующая инжектируемая последовательность каналов:
00: JSQ4[4:0];
01: JSQ3[4:0] >> JSQ4[4:0];
10: JSQ2[4:0] >> JSQ3[4:0] >> JSQ4[4:0];
11: JSQ1[4:0] >> JSQ2[4:0] >> JSQ3[4:0] >> JSQ4[4:0].

В регистрах данных результаты сохраняются в обычном порядке: результат первого преобразования - в ADC_JDR1, второго - в ADC_JDR2, и т.д., независимо от длины используемой последовательности.

В режиме однократного преобразования и в непрерывном режиме всегда используется канал, заданный элементом JSQ1, остальные элементы и длина группы игнорируются.


ADC_JDRx, x= 1..4 (ADC injected data register x)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved  
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
JDATA[15:0]  
r r r r r r r r r r r r r r r r  

Address offset: 0x3C - 0x48
Reset value: 0x0000 0000

JDATA[15:0]: Injected data
Только для чтения, содержат результат, полученный при аналого-цифровом преобразовании для соответствующего по счёту элемента в инжектируемой последовательности преобразований. В режиме однократного преобразования и в непрерывном режиме используется регистр ADC_JDR1.
Данные могут быть выровнены вправо (по умолчанию) или влево в зависимости от настроек (смотрите описание регистра ADC_CR2, бит ALIGN).
Для каждого регистра данных ADC_JDRx есть соответствующий ему регистр смещения ADC_JOFRx; записанное в него значение будет вычитаться из полученного ADC результата перед сохранением в регистр данных (и перед выполнением выравнивания).


ADC_DR (ADC regular data register)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16  
Reserved  
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
JDATA[15:0]  
r r r r r r r r r r r r r r r r  

Address offset: 0x4C
Reset value: 0x0000 0000

DATA[15:0]: Regular data
Только для чтения, биты содержат результат, полученный при аналого-цифровом преобразовании в регулярной группе.
Данные могут быть выровнены вправо (по умолчанию) или влево в зависимости от настроек (смотрите описание регистра ADC_CR2, бит ALIGN).
В отличие от преобразований для инжектируемой группы, где каждый элемент группы имеет отдельный регистр данных, результаты всех регулярных преобразований помещаются в один и тот же регистр. Поэтому, в групповых операциях необходимо своевременно считывать результат, не допуская, чтобы результат очередного преобразования затёр предыдущие данные.

author: hamper; date: 2016-10-10
  Рейтинг@Mail.ru