HAL_StatusTypeDef HAL_ADC_Init (ADC_HandleTypeDef * hadc)
Устанавливает конфигурацию АЦП и регулярной группы согласно параметрам, заданным в структуре типа ADC_InitTypeDef.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
Структура параметров конфигурации.
typedef struct
{
ADC_TypeDef *Instance; // базовый адрес регистров ADC
ADC_InitTypeDef Init; // структура основных параметров ADC
DMA_HandleTypeDef *DMA_Handle; // указатель DMA обработчика
HAL_LockTypeDef Lock; // блокировка объекта
__IO uint32_t State; // состояние АЦП
__IO uint32_t ErrorCode; // код ошибки
} ADC_HandleTypeDef;
- Instance – базовый адрес регистров ADC.
- Init – структура основных параметров ADC. Описана ниже.
- DMA_Handle – указатель DMA обработчика.
- Lock - – блокировка объекта. Сообщает системе о том, что ADC уже используется. Применяется для предотвращения случайного доступа к занятому ресурсу.
- State – код состояния АЦП.
- ErrorCode – код ошибки АЦП.
Структура основных параметров.
typedef struct
{
uint32_t DataAlign; // режим выравнивания результата
uint32_t ScanConvMode; // режим сканирования
uint32_t ContinuousConvMode; // режим непрерывного преобразования
uint32_t NbrOfConversion; // число каналов преобразования регулярной группы
uint32_t DiscontinuousConvMode; // прерывистый режим
uint32_t NbrOfDiscConversion; // число прерывистых преобразований регулярной группы
uint32_t ExternalTrigConv; // источник запуска
} ADC_InitTypeDef;
DataAlign – режим выравнивания результата преобразования. Может иметь значения:
- ADC_DATAALIGN_RIGHT
- ADC_DATAALIGN_LEFT
ScanConvMode – разрешает или запрещает режим сканирования. Может иметь значения:
- ADC_SCAN_DISABLE
- ADC_SCAN_ENABLE
ContinuousConvMode – разрешает или запрещает режим непрерывного преобразования. Может принимать значения:
- ENABLE
- DISABLE
NbrOfConversion – задает число преобразований регулярной группы в режиме сканирования. Может иметь значения от 1 до 16.
DiscontinuousConvMode – разрешает или запрещает прерывистый режим. Может принимать значения:
- ENABLE
- DISABLE
NbrOfDiscConversion –число преобразований в прерывистом режиме. Может принимать значения от 1 до 8.
ExternalTrigConv – задает источник запуска АЦП для регулярной группы. Может иметь значения:
- ADC_EXTERNALTRIGCONV_T1_CC1 - событие Timer 1 CC1
- ADC_EXTERNALTRIGCONV_T1_CC2 - событие Timer 1 CC2
- ADC_EXTERNALTRIGCONV_T1_CC3 - событие Timer 1 CC3
- ADC_EXTERNALTRIGCONV_T2_CC2 - событие Timer 2 CC2
- ADC_EXTERNALTRIGCONV_T3_TRGO - событие Timer 3 TRGO
- ADC_EXTERNALTRIGCONV_T4_CC4 - событие Timer 4 CC4
- ADC_EXTERNALTRIGCONV_EXT_IT11 - сигнал EXTI line 11
- ADC_SOFTWARE_START - программный запуск SWSTART
HAL_StatusTypeDef HAL_ADC_ConfigChannel (ADC_HandleTypeDef * hadc, ADC_ChannelConfTypeDef * sConfig)
Устанавливает конфигурацию выбранного канала регулярной группы согласно параметрам, заданным в структуре типа ADC_ChannelConfTypeDef.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- sConfig – указатель на структуру параметров канала.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
typedef struct
{
uint32_t Channel; // номер канала
uint32_t Rank; // последовательность сканирования канала
uint32_t SamplingTime; // время выборки
} ADC_ChannelConfTypeDef;
Channel – задает номер канала регулярной группы, параметры которого устанавливаются функцией.
- ADC_CHANNEL_0
- . . . . . . . . . . . . . . .
- ADC_CHANNEL_17
- ADC_CHANNEL_TEMPSENSOR
- ADC_CHANNEL_VREFINT
Rank – номер в очереди сканирования канала.
- ADC_REGULAR_RANK_1
- . . . . . . .
- ADC_REGULAR_RANK_16
SamplingTime – определяете время выборки сигнала.
- ADC_SAMPLETIME_1CYCLE_5 – время выборки 1,5 циклов
- ADC_SAMPLETIME_7CYCLES_5 – время выборки 7,5 циклов
- ADC_SAMPLETIME_13CYCLES_5 – время выборки 13,5 циклов
- ADC_SAMPLETIME_28CYCLES_5 – время выборки 28,5 циклов
- ADC_SAMPLETIME_41CYCLES_5 – время выборки 41,5 циклов
- ADC_SAMPLETIME_55CYCLES_5 – время выборки 55,5 циклов
- ADC_SAMPLETIME_71CYCLES_5 – время выборки 71,5 циклов
- ADC_SAMPLETIME_239CYCLES_5 – время выборки 239,5 циклов
HAL_StatusTypeDef HAL_ADC_DeInit (ADC_HandleTypeDef * hadc)
Деинициализирует АЦП. Переводит его в состояние, как после сброса.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
void HAL_ADC_MspDeInit (ADC_HandleTypeDef * hadc)
MSP callback функция инициализации АЦП. Функция вызывается при инициализации АЦП. Ее можно использовать, чтобы добавить свои установки. Тело функции находится в файле stm32f1xx_hal_msp.c.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Ничего не возвращает.
HAL_StatusTypeDef HAL_ADC_Start (ADC_HandleTypeDef * hadc)
Разрешает работу АЦП и запускает преобразование регулярной группы.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADC_Stop (ADC_HandleTypeDef * hadc)
Останавливает преобразование регулярной группы (и инжектированной группы в режиме автозапуска), запрещает работу АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADC_PollForConversion (ADC_HandleTypeDef * hadc, uint32_t Timeout)
Ожидает окончания преобразования регулярной группы.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- Timeout – время тайм-аута операции в мс.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADC_PollForEvent (ADC_HandleTypeDef * hadc, uint32_t EventType, uint32_t Timeout)
Ожидание события преобразования.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- EventType – тип события. Может иметь только одно значение: ADC_AWD_EVENT, т.е. событие оконного компаратора.
- Timeout – время тайм-аута операции в мс.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADC_Start_IT (ADC_HandleTypeDef * hadc)
Разрешает работу АЦП, запускает преобразование регулярной группы с использованием прерывания.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADC_Stop_IT (ADC_HandleTypeDef * hadc)
Останавливает преобразование регулярной группы (и инжектированной группы в режиме автозапуска), запрещает работу АЦП и прерывания.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADC_Start_DMA (ADC_HandleTypeDef * hadc, uint32_t * pData, uint32_t Length)
Разрешает работу АЦП, запускает преобразование регулярной группы и передает результат через DMA.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- pData - указатель на буфер данных.
- Length – количество данных.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADC_Stop_DMA (ADC_HandleTypeDef * hadc)
Останавливает преобразование регулярной группы (и инжектированной группы в режиме автозапуска), запрещает работу АЦП и DMA.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
uint32_t HAL_ADC_GetValue (ADC_HandleTypeDef * hadc)
Чтение результата преобразования регулярной группы (чтение регистра DR).
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат преобразования АЦП .
void HAL_ADC_IRQHandler (ADC_HandleTypeDef * hadc)
Обработчик прерывания АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Ничего не возвращает.
void HAL_ADC_ConvCpltCallback (ADC_HandleTypeDef *
hadc)
Callback-функция завершения преобразования в неблокирующем режиме.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Не возвращает ничего.
void HAL_ADC_ConvHalfCpltCallback (ADC_HandleTypeDef *
hadc)
Callback-функция завершения передачи половины данных DMA в неблокирующем режиме.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Не возвращает ничего.
HAL_ADC_LevelOutOfWindowCallback
void HAL_ADC_LevelOutOfWindowCallback
(ADC_HandleTypeDef * hadc)
Callback-функция оконного компаратора в неблокирующем режиме.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Не возвращает ничего.
void HAL_ADC_ErrorCallback (ADC_HandleTypeDef * hadc)
Callback-функция ошибок АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Ничего не возвращает.
HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig (ADC_HandleTypeDef * hadc, ADC_AnalogWDGConfTypeDef * AnalogWDGConfig)
Устанавливает конфигурацию оконного компаратора.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- AnalogWDGConfig – указатель на структуру типа ADC_AnalogWDGConfTypeDef конфигурации оконного компаратора.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
Структура конфигурации оконного компаратора.
typedef struct
{
uint32_t WatchdogMode; // режим оконного компаратора
uint32_t Channel; // канал для мониторинга
uint32_t ITMode; // разрешение прерывания
uint32_t HighThreshold; // верхний порог
uint32_t LowThreshold; // нижний порог
uint32_t WatchdogNumber; // резерв
} ADC_AnalogWDGConfTypeDef;
WatchdogMode – задает один или несколько каналов, регулярные или инжектированные. Может принимать значения.
- ADC_ANALOGWATCHDOG_NONE
- ADC_ANALOGWATCHDOG_SINGLE_REG
- ADC_ANALOGWATCHDOG_SINGLE_INJEC
- ADC_ANALOGWATCHDOG_SINGLE_REGINJEC
- ADC_ANALOGWATCHDOG_ALL_REG
- ADC_ANALOGWATCHDOG_ALL_INJEC
- ADC_ANALOGWATCHDOG_ALL_REGINJEC
Channel – задает номер канала для мониторинга.
- ADC_CHANNEL_0
- . . . . . . . . . . . . . . .
- ADC_CHANNEL_17
- ADC_CHANNEL_TEMPSENSOR
- ADC_CHANNEL_VREFINT
ITMode – разрешение прерывания.
- ENABLE
- DISABLE
HighThreshold - верхний порог температуры.
LowThreshold - нижний порог температуры.
WatchdogNumber – зарезервировано для будущего использования. Должно быть равно 0.
uint32_t HAL_ADC_GetState (ADC_HandleTypeDef * hadc)
Чтение состояния АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает код состояния АЦП. Битовая маска кодов состояния:
- HAL_ADC_STATE_RESET - АЦП запрещен или не инициилизирован
- HAL_ADC_STATE_READY - готов
- HAL_ADC_STATE_BUSY_INTERNAL - занят внутренним процессом
- HAL_ADC_STATE_TIMEOUT - ошибка тайм-аута
- HAL_ADC_STATE_ERROR_INTERNAL - внутренняя ошибка
- HAL_ADC_STATE_ERROR_CONFIG - ошибка конфигурации
- HAL_ADC_STATE_ERROR_DMA - ошибка DMA
- HAL_ADC_STATE_REG_BUSY - происходит преобразование регулярной группы
- HAL_ADC_STATE_REG_EOC - есть результат преобразования регулярной группы
- HAL_ADC_STATE_INJ_BUSY - происходит преобразование инжектированной группы
- HAL_ADC_STATE_INJ_EOC - есть результат преобразования инжектированной группы
- HAL_ADC_STATE_AWD1 - выход за пороги оконного компаратора
- HAL_ADC_STATE_MULTIMODE_SLAVE - АЦП ведомый, в режиме сдвоенных преобразований
uint32_t HAL_ADC_GetError (ADC_HandleTypeDef * hadc)
Чтение кода ошибок АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает код ошибок АЦП. Битовая маска кодов состояния:
- HAL_ADC_ERROR_NONE - нет ошибок
- HAL_ADC_ERROR_INTERNAL - внутренняя ошибка
- HAL_ADC_ERROR_OVR - Ошибка переполнения
- HAL_ADC_ERROR_DMA - ошибка передачи DMA
HAL_StatusTypeDef ADC_Enable (ADC_HandleTypeDef * hadc)
Разрешение работы АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef ADC_ConversionStop_Disable (ADC_HandleTypeDef * hadc)
Останавливает преобразование, запрещает работу АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
void ADC_DMAConvCplt (DMA_HandleTypeDef * hdma)
Callback-функция завершения передачи DMA.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Не возвращает ничего.
void ADC_DMAHalfConvCplt (DMA_HandleTypeDef * hdma)
Callback-функция передачи половины данных DMA.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Не возвращает ничего.
void ADC_DMAError (DMA_HandleTypeDef * hdma)
Callback-функция ошибки DMA.
hdma – указатель на обработчик DMA.
Не возвращает ничего.
HAL_StatusTypeDef HAL_ADCEx_Calibration_Start (ADC_HandleTypeDef * hadc)
Выполняет автоматическую самокалибровку АЦП. Функция должна вызываться при отключенном АЦП.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADCEx_InjectedStart (ADC_HandleTypeDef * hadc)
Разрешает работу АЦП и запускает преобразование инжектированной группы.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADCEx_InjectedStop (ADC_HandleTypeDef * hadc)
Останавливает преобразование инжектированной группы.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_ADCEx_InjectedPollForConversion
HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion (ADC_HandleTypeDef * hadc, uint32_t Timeout)
Ожидает окончания преобразования инжектированной группы.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- Timeout – время тайм-аута операции в мс.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT (ADC_HandleTypeDef * hadc)
Разрешает работу АЦП, запускает преобразование инжектированной группы с использованием прерывания.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT (ADC_HandleTypeDef * hadc)
Останавливает преобразование инжектированной группы и запрещает прерывание окончания преобразования.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA (ADC_HandleTypeDef * hadc, uint32_t * pData, uint32_t Length)
Разрешает работу АЦП, запускает преобразование регулярной группы и передает результат через DMA.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- pData - указатель на буфер данных.
- Length – количество данных.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA (ADC_HandleTypeDef * hadc)
Останавливает преобразование регулярной группы (и инжектированной группы в режиме автозапуска), запрещает работу АЦП и DMA.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат инициализации типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
uint32_t HAL_ADCEx_InjectedGetValue (ADC_HandleTypeDef * hadc, uint32_t InjectedRank)
Чтение результата преобразования инжектированной группы.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- InjectedRank – номер канала в последовательности.
- ADC_INJECTED_RANK_1 – инжектированный канал 1
- ADC_INJECTED_RANK_2 – инжектированный канал 2
- ADC_INJECTED_RANK_3 – инжектированный канал 3
- ADC_INJECTED_RANK_4 – инжектированный канал 4
Возвращает результат преобразования.
uint32_t HAL_ADCEx_MultiModeGetValue (ADC_HandleTypeDef * hadc)
Возвращает последнее значение преобразования регулярных групп в сдвоенном режиме. Объединяет в 32х разрядном слове DR-регистры обоих АЦП. Данные АЦП2 сдвигает в старшие разрядах.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Возвращает результат преобразования обоих АЦП в одном слове.
HAL_ADCEx_InjectedConvCpltCallback
void HAL_ADCEx_InjectedConvCpltCallback (ADC_HandleTypeDef * hadc)
Callback-функция завершения передачи в не блокирующем режиме.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
Не возвращает ничего.
HAL_ADCEx_InjectedConfigChannel
HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel (ADC_HandleTypeDef * hadc, ADC_InjectionConfTypeDef * sConfigInjected)
Устанавливает конфигурацию инжектированной группы и выбранного канала согласно параметрам, заданным в структуре типа ADC_InjectionConfTypeDef.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- sConfigInjected – указатель на структуру параметров канала.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
Структура конфигурации инжектированной группы.
typedef struct
{
uint32_t InjectedChannel; // номер канала
uint32_t InjectedRank; // последовательность сканирования канала
uint32_t InjectedSamplingTime; // время выборки
uint32_t InjectedOffset; // значение смещения
uint32_t InjectedNbrOfConversion; // число каналов преобразования
uint32_t InjectedDiscontinuousConvMode; // разрешение прерывистого режима
uint32_t AutoInjectedConv; // разрешение автозапуска инжектированной группы
uint32_t ExternalTrigInjecConv; // источник запуска
} ADC_InjectionConfTypeDef;
InjectedChannel - задает номер канала инжектированной группы, параметры которого устанавливаются функцией.
- ADC_CHANNEL_0
- . . . . . . . . . . . . . . .
- ADC_CHANNEL_17
- ADC_CHANNEL_TEMPSENSOR
- ADC_CHANNEL_VREFINT
InjectedRank - номер в очереди сканирования канала.
- ADC_INJECTED_RANK_1
- . . . . . . . . . . . . . . . . . . . .
- ADC_INJECTED_RANK_4
InjectedSamplingTime - определяете время выборки сигнала.
- ADC_SAMPLETIME_1CYCLE_5 – время выборки 1,5 циклов
- ADC_SAMPLETIME_7CYCLES_5 – время выборки 7,5 циклов
- ADC_SAMPLETIME_13CYCLES_5 – время выборки 13,5 циклов
- ADC_SAMPLETIME_28CYCLES_5 – время выборки 28,5 циклов
- ADC_SAMPLETIME_41CYCLES_5 – время выборки 41,5 циклов
- ADC_SAMPLETIME_55CYCLES_5 – время выборки 55,5 циклов
- ADC_SAMPLETIME_71CYCLES_5 – время выборки 71,5 циклов
- ADC_SAMPLETIME_239CYCLES_5 – время выборки 239,5 циклов
InjectedOffset – значение смещения (OFFSET) инжектированных каналов.
InjectedNbrOfConversion - задает число преобразований инжектированной группы. Может иметь значения от 1 до 4.
InjectedDiscontinuousConvMode - разрешает или запрещает режим непрерывного преобразования. Может принимать значения:
- ENABLE
- DISABLE
AutoInjectedConv – разрешает или запрещает автоматический запуск инжектированной группы после регулярной. Может принимать значения:
- ENABLE
- DISABLE
ExternalTrigInjecConv - задает источник запуска АЦП для инжектированной группы. Может иметь значения:
- ADC_EXTERNALTRIGINJECCONV_T1_TRGO - событие Timer 1 TRGO
- ADC_EXTERNALTRIGINJECCONV_T1_CC4 - событие Timer 1 CC4
- ADC_EXTERNALTRIGINJECCONV_T2_TRGO - событие Timer 2 TRGO
- ADC_EXTERNALTRIGINJECCONV_T2_CC1 - событие Timer 2 CC1
- ADC_EXTERNALTRIGINJECCONV_T3_CC4 - событие Timer 3 CC4
- ADC_EXTERNALTRIGINJECCONV_T4_TRGO - событие Timer 4 TRGO
- ADC_EXTERNALTRIGINJECCONV_EXT_IT15 - сигнал EXTI line 15
- ADC_INJECTED_SOFTWARE_START - программный запуск JSWSTART
HAL_ADCEx_MultiModeConfigChannel
HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel (ADC_HandleTypeDef * hadc, ADC_MultiModeTypeDef * multimode)
Разрешает работу АЦП в режиме сдвоенных преобразований и устанавливает его параметры.
- hadc – указатель на структуру параметров конфигурации типа ADC_HandleTypeDef.
- multimode – указатель на структуру параметров сдвоенного режима.
Возвращает результат операции типа HAL_StatusTypeDef:
- HAL_OK – при успешном выполнении;
- HAL_ERROR – при ошибке (неправильные аргументы).
Структура конфигурации режима сдвоенных преобразований.
typedef struct
{
uint32_t Mode; // режим
} ADC_MultiModeTypeDef;
Mode – режим работы АЦП. Может иметь значения:
- ADC_MODE_INDEPENDENT – независимый режим работы.
- ADC_DUALMODE_REGSIMULT_INJECSIMU LT - Комбинированный режим одновременного преобразования инжектированных и регулярных каналов (Injected simultaneous mode + Regular simultaneous mode).
- ADC_DUALMODE_REGSIMULT_ALTERTRIG - Комбинированный режим преобразования одновременного преобразования регулярных каналов и поочередного запуска (Regular simultaneous mode + Alternate trigger mode).
- ADC_DUALMODE_INJECSIMULT_INTERLFAST - Комбинированный режим одновременного преобразования инжектированных каналов и быстрых преобразований со смещением во времени (Injected simultaneous mode + Fast interleaved mode).
- ADC_DUALMODE_INJECSIMULT_INTERLSLOW - Комбинированный режим одновременного преобразования инжектированных каналов и медленных преобразований со смещением во времени (Injected simultaneous mode + Slow interleaved mode).
- ADC_DUALMODE_INJECSIMULT - Режим одновременных преобразований инжектированных каналов (Injected simultaneous mode).
- ADC_DUALMODE_REGSIMULT - Режим одновременных преобразований регулярных каналов (Regular simultaneous mode).
- ADC_DUALMODE_INTERLFAST - Режим быстрых преобразований со смещением во времени (Fast interleaved mode).
- ADC_DUALMODE_INTERLSLOW - Режим медленных преобразований со смещением во времени (Slow interleaved mode).
- ADC_DUALMODE_ALTERTRIG - Режим поочередного запуска АЦП (Alternate trigger mode).