ELIOT1 HAL
Загрузка...
Поиск...
Не найдено
Драйвер модуля CLKCTR

Драйвер модуля управления частотами Подробнее...

Файлы

файл  hal_clkctr.h
 Интерфейс драйвера модуля CLKCTR.
 

Структуры данных

struct  clkctr_div
 Делители блока Подробнее...
 
struct  clkctr_pll_cfg
 Коэффициенты PLL. Подробнее...
 

Перечисления

enum  clkctr_mcoclk
 Подаваемая на MCO частота Подробнее...
 
enum  clkctr_lpclk
 Подаваемая на LPCLK частота Подробнее...
 
enum  clkctr_rtcclk
 Подаваемая на RTCCLK частота Подробнее...
 
enum  clkctr_mainclk
 Подаваемая на MAINCLK частота Подробнее...
 
enum  clkctr_pllref
 Опорная частота PLL. Подробнее...
 
enum  clkctr_usbclk
 Подаваемая на USBCLK частота Подробнее...
 
enum  clkctr_i2sclk
 Подаваемая на I2SCLK частота Подробнее...
 
enum  clkctr_hfi_for_main_type
 Частота, определенная как HFICLK для MAINCLK (CLKCTR_MainClkTypeHFICLK) Подробнее...
 
enum  clkctr_extern_freq
 Генератор/осциллятор/вход, для которого групповой функцией устанавливается частота Подробнее...
 
enum  clkctr_int_freq
 Имя внутренней частоты тактирования микросхемы, для которой производится действие групповой функцией Подробнее...
 
enum  clkctr_clk_force_type
 Тип тактирования Подробнее...
 
enum  clkctr_device_clk_force
 Домены, к которым может быть применено динамическое тактирование Подробнее...
 
enum  clkctr_status
 Статусы драйвера CLKCTR. Подробнее...
 

Устаревшие функции для поддержки ранних примеров

void CLKCTR_SetPll (CLKCTR_Type *base, uint32_t xti_hz, uint32_t pll_mul)
 Установка целочисленного множителя PLL.
 
enum clkctr_status CLKCTR_SetPllMan (CLKCTR_Type *base, uint32_t xti_hz, uint32_t nr, uint32_t nf, uint32_t od)
 Установка множителей PLL в ручном режиме
 
void CLKCTR_SetSysDiv (CLKCTR_Type *base, uint16_t fclk_div, uint16_t sysclk_div, uint16_t gnssclk_div, uint16_t qspiclk_div)
 Установка делителей
 

Функции установки и получения частот генераторов/осцилляторов

enum clkctr_status CLKCTR_SetXTI (CLKCTR_Type *base, uint32_t frequency)
 Установка значения частоты, подаваемой на вход XTI.
 
uint32_t CLKCTR_GetXTI (CLKCTR_Type *base)
 Извлечение значения частоты, подаваемой на вход XTI.
 
enum clkctr_status CLKCTR_SetXTI32 (CLKCTR_Type *base, uint32_t frequency)
 Установка значения частоты, подаваемой на вход XTI32.
 
uint32_t CLKCTR_GetXTI32 (CLKCTR_Type *base)
 Извлечение значения частоты, подаваемой на вход XTI32.
 
enum clkctr_status CLKCTR_SetHFI (CLKCTR_Type *base, uint32_t frequency)
 Установка значения частоты внутреннего генератора APC.
 
uint32_t CLKCTR_GetHFI (CLKCTR_Type *base)
 Извлечение значения частоты внутреннего генератора APC.
 
enum clkctr_status CLKCTR_SetLFI (CLKCTR_Type *base, uint32_t frequency)
 Установка значения частоты внутреннего генератора RWC.
 
uint32_t CLKCTR_GetLFI (CLKCTR_Type *base)
 Извлечение значения частоты внутреннего генератора RWC.
 
enum clkctr_status CLKCTR_SetI2SExtClk (CLKCTR_Type *base, uint32_t frequency)
 Установка значения частоты, поступаемой на PA15.
 
uint32_t CLKCTR_GetI2SExtClk (CLKCTR_Type *base)
 Извлечение значения частоты, поступаемой на PA15.
 

Функции установки и получения делителей, кроме PLL

enum clkctr_status CLKCTR_GetAllDiv (CLKCTR_Type *base, struct clkctr_div *divisors)
 Извлечение всех делителей блока CLKCTR.
 
uint32_t CLKCTR_GetMCODiv (CLKCTR_Type *base)
 Извлечение значения делителя MCODiv.
 
enum clkctr_status CLKCTR_SetMCODiv (CLKCTR_Type *base, uint32_t value)
 Установка значения делителя MCODiv.
 
uint32_t CLKCTR_GetFClkDiv (CLKCTR_Type *base)
 Извлечение значения делителя FCLKDiv.
 
enum clkctr_status CLKCTR_SetFClkDiv (CLKCTR_Type *base, uint32_t value)
 Установка значения делителя FCLKDiv.
 
uint32_t CLKCTR_GetSysClkDiv (CLKCTR_Type *base)
 Извлечение значения делителя SYSCLKDiv.
 
enum clkctr_status CLKCTR_SetSysClkDiv (CLKCTR_Type *base, uint32_t value)
 Установка значения делителя SYSCLKDiv.
 
uint32_t CLKCTR_GetGNSSClkDiv (CLKCTR_Type *base)
 Извлечение значения делителя GNSSCLKDiv.
 
enum clkctr_status CLKCTR_SetGNSSClkDiv (CLKCTR_Type *base, uint32_t value)
 Установка значения делителя GNSSCLKDiv.
 
uint32_t CLKCTR_GetQSPIClkDiv (CLKCTR_Type *base)
 Извлечение значения делителя QSPICLKDiv.
 
enum clkctr_status CLKCTR_SetQSPIClkDiv (CLKCTR_Type *base, uint32_t value)
 Установка значения делителя QSPICLKDiv.
 
uint32_t CLKCTR_GetI2SClkDiv (CLKCTR_Type *base)
 Извлечение значения делителя I2SCLKDiv.
 
enum clkctr_status CLKCTR_SetI2SClkDiv (CLKCTR_Type *base, uint32_t value)
 Установка значения делителя I2SCLKDiv.
 

Функции установки и получения коэффициентов PLL

enum clkctr_status CLKCTR_GetPLLConfig (CLKCTR_Type *base, struct clkctr_pll_cfg *config)
 Извлечение коэффициентов PLL.
 
enum clkctr_status CLKCTR_SetPLLConfig (CLKCTR_Type *base, struct clkctr_pll_cfg config)
 Установка коэффициентов PLL.
 

Функции извлечения частот тактирования

uint32_t CLKCTR_GetXTIClk (CLKCTR_Type *base)
 Извлечение значения частоты XTICLK.
 
uint32_t CLKCTR_GetHFIClk (CLKCTR_Type *base)
 Извлечение значения частоты HFICLK.
 
uint32_t CLKCTR_GetRTCClk (CLKCTR_Type *base)
 Извлечение значения частоты RTCCLK.
 
uint32_t CLKCTR_GetLPClk (CLKCTR_Type *base)
 Извлечение значения частоты LPCLK.
 
uint32_t CLKCTR_GetPLLClk (CLKCTR_Type *base)
 Извлечение значения частоты PLLCLK.
 
uint32_t CLKCTR_GetPLLRef (CLKCTR_Type *base)
 Извлечение значения опорной частоты PLL.
 
uint32_t CLKCTR_GetMainClk (CLKCTR_Type *base)
 Извлечение значения частоты MAINCLK.
 
uint32_t CLKCTR_GetUSBClk (CLKCTR_Type *base)
 Извлечение значения частоты USBCLK, подаваемого на USB PHY.
 
uint32_t CLKCTR_GetFClkInt (CLKCTR_Type *base)
 Извлечение значения частоты FCLK_INT.
 
uint32_t CLKCTR_GetFClk (CLKCTR_Type *base)
 Извлечение значения частоты FCLK.
 
uint32_t CLKCTR_GetSysClk (CLKCTR_Type *base)
 Извлечение значения частоты SYSCLK.
 
uint32_t CLKCTR_GetGNSSClk (CLKCTR_Type *base)
 Извлечение значения частоты GNSSCLK.
 
uint32_t CLKCTR_GetQSPIClk (CLKCTR_Type *base)
 Извлечение значения частоты QSPICLK.
 
uint32_t CLKCTR_GetI2SClk (CLKCTR_Type *base)
 Извлечение значения частоты I2SCLK.
 
uint32_t CLKCTR_GetMCOClk (CLKCTR_Type *base)
 Извлечение значения частоты MCOCLK, подаваемой на вывод PA15.
 
uint32_t CLKCTR_GetHFIClkForMainClk (CLKCTR_Type *base)
 Извлечение значения частоты HFICLK для MAINCLK.
 

Функции выбора и извлечения источников частот

enum clkctr_status CLKCTR_SetSwitchMCOClk (CLKCTR_Type *base, uint32_t value)
 Выбор источника частоты MCO.
 
enum clkctr_status CLKCTR_SetSwitchPLLRef (CLKCTR_Type *base, uint32_t value)
 Выбор источника опорной частоты PLL.
 
enum clkctr_status CLKCTR_SetSwitchMainClk (CLKCTR_Type *base, uint32_t value)
 Выбор источника частоты MAINCLK.
 
enum clkctr_status CLKCTR_SetSwitchRTCClk (CLKCTR_Type *base, uint32_t value)
 Выбор источника частоты RTCCLK.
 
enum clkctr_status CLKCTR_SetSwitchLPClk (CLKCTR_Type *base, uint32_t value)
 Выбор источника частоты LPCLK.
 
enum clkctr_status CLKCTR_SetSwitchUSBClk (CLKCTR_Type *base, uint32_t value)
 Выбор источника частоты USBCLK.
 
enum clkctr_status CLKCTR_SetSwitchI2SClk (CLKCTR_Type *base, uint32_t value)
 Выбор источника частоты I2SCLK.
 
enum clkctr_status CLKCTR_SetSwitchPMUDIS (CLKCTR_Type *base, uint32_t value)
 Выбор режима работы процессора
 
uint32_t CLKCTR_GetSwitchMCOClk (CLKCTR_Type *base)
 Извлечение источника частоты MCO.
 
uint32_t CLKCTR_GetSwitchPLLRef (CLKCTR_Type *base)
 Извлечение источника частоты PLL.
 
uint32_t CLKCTR_GetSwitchMainClk (CLKCTR_Type *base)
 Извлечение источника частоты MAINCLK.
 
uint32_t CLKCTR_GetSwitchRTCClk (CLKCTR_Type *base)
 Извлечение источника частоты RTCCLK.
 
uint32_t CLKCTR_GetSwitchLPClk (CLKCTR_Type *base)
 Извлечение источника частоты LPCLK.
 
uint32_t CLKCTR_GetSwitchUSBClk (CLKCTR_Type *base)
 Извлечение источника частоты USBCLK.
 
uint32_t CLKCTR_GetSwitchI2SClk (CLKCTR_Type *base)
 Извлечение источника частоты I2SCLK.
 
uint32_t CLKCTR_GetSwitchPMUDIS (CLKCTR_Type *base)
 Определение режима работы процессора
 

Прочие функции

enum clkctr_status CLKCTR_SetHFITrim (CLKCTR_Type *base, uint32_t index)
 Установка индекса коэффициента подстройки частоты осциллятора HFI.
 
uint32_t CLKCTR_GetHFITrim (CLKCTR_Type *base)
 Извлечение индекса коэффициента подстройки частоты осциллятора HFI.
 
uint32_t CLKCTR_GetMCOEn (CLKCTR_Type *base)
 Извлечение разрешения тактового сигнала MCO.
 
enum clkctr_status CLKCTR_SetMCOEn (CLKCTR_Type *base, uint32_t enable)
 Установка или запрет разрешения тактового сигнала MCO.
 
enum clkctr_status CLKCTR_GetClkForce (CLKCTR_Type *base, enum clkctr_device_clk_force device, enum clkctr_clk_force_type *clk_type)
 Извлечение типа тактирования для модуля
 
enum clkctr_status CLKCTR_SetClkForce (CLKCTR_Type *base, enum clkctr_device_clk_force device, enum clkctr_clk_force_type clk_type)
 Установка типа тактирования для модуля
 

Функции-обертки

enum clkctr_status CLKCTR_SetFrequency (CLKCTR_Type *base, enum clkctr_extern_freq input, uint32_t frequency)
 Установка значения частоты, подаваемой на выбранный вход
 
uint32_t CLKCTR_GetFrequency (CLKCTR_Type *base, enum clkctr_extern_freq input)
 Извлечение значения частоты, подаваемой на выбранный вход
 
enum clkctr_status CLKCTR_GetClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t *value)
 Извлечение значения указанной частоты
 
enum clkctr_status CLKCTR_SetSwitchClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t value)
 Выбор источника частоты для указанной частоты
 
enum clkctr_status CLKCTR_GetSwitchClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t *value)
 Извлечение источника частоты для указанной частоты
 
enum clkctr_status CLKCTR_SetDivClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t value)
 Установка коэффициента деления для указанной частоты
 
enum clkctr_status CLKCTR_GetDivClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t *value)
 Извлечение коэффициента деления для указанной частоты
 

Экстремальные значения коэффициентов делителей частот параметров PLL (делитель частоты = коэффициент деления + 1)

#define CLKCTR_MAX_SYSCLK_DIV   31
 
#define CLKCTR_MAX_FCLK_DIV   31
 
#define CLKCTR_MAX_GNSSCLK_DIV   7
 
#define CLKCTR_MAX_QSPICLK_DIV   31
 
#define CLKCTR_MAX_MCOCLK_DIV   31
 
#define CLKCTR_MAX_I2SCLK_DIV   31
 
#define CLKCTR_MIN_SYSCLK_DIV   0
 
#define CLKCTR_MIN_FCLK_DIV   0
 
#define CLKCTR_MIN_GNSSCLK_DIV   0
 
#define CLKCTR_MIN_QSPICLK_DIV   0
 
#define CLKCTR_MIN_MCOCLK_DIV   0
 
#define CLKCTR_MIN_I2SCLK_DIV   0
 
#define PLL_MAX_MULTIPLIER   0x176
 
#define PLL_MIN_MULTIPLIER   0x0
 
#define CLKCTR_NR_MAN_MAX
 
#define CLKCTR_NF_MAN_MAX
 
#define CLKCTR_OD_MAN_MAX
 
#define CLKCTR_MAN_MAX
 
#define CLKCTR_SEL_MAX
 

Минимально и максимально допустимые внешние частоты блока CLKCTR

#define CLKCTR_XTI_MIN   1
 
#define CLKCTR_XTI_MAX   50000000
 
#define CLKCTR_XTI32_MIN   30000
 
#define CLKCTR_XTI32_MAX   34000
 
#define CLKCTR_HFI_MIN   4000000
 
#define CLKCTR_HFI_MAX   25000000
 
#define CLKCTR_LFI_MIN   32112
 
#define CLKCTR_LFI_MAX   33423
 
#define CLKCTR_I2S_EXTCLK_MIN   1
 
#define CLKCTR_I2S_EXTCLK_MAX   50000000
 

Минимально и максимально допустимые внутренние частоты блока CLKCTR

#define CLKCTR_PLLREF_MIN   30000
 
#define CLKCTR_PLLREF_MAX   50000000
 
#define CLKCTR_PLLCLK_MIN   1880000
 
#define CLKCTR_PLLCLK_MAX   375000000
 
#define CLKCTR_PLLCLK_OD_MIN   30000000
 
#define CLKCTR_PLLCLK_OD_MAX   375000000
 
#define CLKCTR_FCLK_MIN   1
 
#define CLKCTR_FCLK_MAX   150000000
 
#define CLKCTR_SYSCLK_MIN   1
 
#define CLKCTR_SYSCLK_MAX   50000000
 
#define CLKCTR_QSPICLK_MIN   1
 
#define CLKCTR_QSPICLK_MAX   96000000
 
#define CLKCTR_GNSSCLK_MIN   1
 
#define CLKCTR_GNSSCLK_MAX   80000000
 
#define CLKCTR_I2SCLK_MIN   1
 
#define CLKCTR_I2SCLK_MAX   25000000
 

Служебные определения

#define HFI_FREQUENCY   15100000
 
#define CLKCTR_FREQ_NOT_SET   0
 

Подробное описание

Драйвер модуля управления частотами

Драйвер модуля CLKCTR позволяет настраивать частоты тактирования.

Макросы

◆ CLKCTR_FCLK_MAX

#define CLKCTR_FCLK_MAX   150000000

Максимальное значение опорной частоты FCLK

◆ CLKCTR_FCLK_MIN

#define CLKCTR_FCLK_MIN   1

Минимальное значение опорной частоты FCLK

◆ CLKCTR_FREQ_NOT_SET

#define CLKCTR_FREQ_NOT_SET   0

Частота не установлена или недоступна

◆ CLKCTR_GNSSCLK_MAX

#define CLKCTR_GNSSCLK_MAX   80000000

Максимальное значение опорной частоты GNSSCLK

◆ CLKCTR_GNSSCLK_MIN

#define CLKCTR_GNSSCLK_MIN   1

Минимальное значение опорной частоты GNSSCLK

◆ CLKCTR_HFI_MAX

#define CLKCTR_HFI_MAX   25000000

Максимальное значение частоты HFI

◆ CLKCTR_HFI_MIN

#define CLKCTR_HFI_MIN   4000000

Минимальное значение частоты HFI

◆ CLKCTR_I2S_EXTCLK_MAX

#define CLKCTR_I2S_EXTCLK_MAX   50000000

Максимальное значение частоты I2S_EXTCLK

◆ CLKCTR_I2S_EXTCLK_MIN

#define CLKCTR_I2S_EXTCLK_MIN   1

Минимальное значение частоты I2S_EXTCLK

◆ CLKCTR_I2SCLK_MAX

#define CLKCTR_I2SCLK_MAX   25000000

Максимальное значение опорной частоты I2SCLK

◆ CLKCTR_I2SCLK_MIN

#define CLKCTR_I2SCLK_MIN   1

Минимальное значение опорной частоты I2SCLK

◆ CLKCTR_LFI_MAX

#define CLKCTR_LFI_MAX   33423

Максимальное значение частоты LFI

◆ CLKCTR_LFI_MIN

#define CLKCTR_LFI_MIN   32112

Минимальное значение частоты LFI

◆ CLKCTR_MAN_MAX

#define CLKCTR_MAN_MAX
Макроопределение:
(CLKCTR_PLLCFG_MAN_Msk \
>> CLKCTR_PLLCFG_MAN_Pos)

Максимальное значение MAN

◆ CLKCTR_MAX_FCLK_DIV

#define CLKCTR_MAX_FCLK_DIV   31

Максимальное для FCLK

◆ CLKCTR_MAX_GNSSCLK_DIV

#define CLKCTR_MAX_GNSSCLK_DIV   7

Максимальное для GNSSCLK

◆ CLKCTR_MAX_I2SCLK_DIV

#define CLKCTR_MAX_I2SCLK_DIV   31

Максимальное для I2SCLK

◆ CLKCTR_MAX_MCOCLK_DIV

#define CLKCTR_MAX_MCOCLK_DIV   31

Максимальное для MCOCLK

◆ CLKCTR_MAX_QSPICLK_DIV

#define CLKCTR_MAX_QSPICLK_DIV   31

Максимальное для QSPICLK

◆ CLKCTR_MAX_SYSCLK_DIV

#define CLKCTR_MAX_SYSCLK_DIV   31

Максимальное для SYSCLK

◆ CLKCTR_MIN_FCLK_DIV

#define CLKCTR_MIN_FCLK_DIV   0

Минимальное для FCLK

◆ CLKCTR_MIN_GNSSCLK_DIV

#define CLKCTR_MIN_GNSSCLK_DIV   0

Минимальное для GNSSCLK

◆ CLKCTR_MIN_I2SCLK_DIV

#define CLKCTR_MIN_I2SCLK_DIV   0

Минимальное для I2SCLK

◆ CLKCTR_MIN_MCOCLK_DIV

#define CLKCTR_MIN_MCOCLK_DIV   0

Минимальное для MCOCLK

◆ CLKCTR_MIN_QSPICLK_DIV

#define CLKCTR_MIN_QSPICLK_DIV   0

Минимальное для QSPICLK

◆ CLKCTR_MIN_SYSCLK_DIV

#define CLKCTR_MIN_SYSCLK_DIV   0

Минимальное для SYSCLK

◆ CLKCTR_NF_MAN_MAX

#define CLKCTR_NF_MAN_MAX
Макроопределение:
(CLKCTR_PLLCFG_NF_MAN_Msk \
>> CLKCTR_PLLCFG_NF_MAN_Pos)

Максимальное значение NF_MAN

◆ CLKCTR_NR_MAN_MAX

#define CLKCTR_NR_MAN_MAX
Макроопределение:
(CLKCTR_PLLCFG_NR_MAN_Msk \
>> CLKCTR_PLLCFG_NR_MAN_Pos)

Максимальное значение NR_MAN

◆ CLKCTR_OD_MAN_MAX

#define CLKCTR_OD_MAN_MAX
Макроопределение:
(CLKCTR_PLLCFG_OD_MAN_Msk \
>> CLKCTR_PLLCFG_OD_MAN_Pos)

Максимальное значение OD_MAN

◆ CLKCTR_PLLCLK_MAX

#define CLKCTR_PLLCLK_MAX   375000000

Максимальное значение выходной частоты PLL полный диапазон

◆ CLKCTR_PLLCLK_MIN

#define CLKCTR_PLLCLK_MIN   1880000

Минимальное значение выходной частоты PLL полный диапазон

◆ CLKCTR_PLLCLK_OD_MAX

#define CLKCTR_PLLCLK_OD_MAX   375000000

Максимальное значение выходной частоты PLL без учета делителя OD

◆ CLKCTR_PLLCLK_OD_MIN

#define CLKCTR_PLLCLK_OD_MIN   30000000

Минимальное значение выходной частоты PLL без учета делителя OD

◆ CLKCTR_PLLREF_MAX

#define CLKCTR_PLLREF_MAX   50000000

Максимальное значение опорной частоты PLL

◆ CLKCTR_PLLREF_MIN

#define CLKCTR_PLLREF_MIN   30000

Минимальное значение опорной частоты PLL

◆ CLKCTR_QSPICLK_MAX

#define CLKCTR_QSPICLK_MAX   96000000

Максимальное значение опорной частоты QSPICLK

◆ CLKCTR_QSPICLK_MIN

#define CLKCTR_QSPICLK_MIN   1

Минимальное значение опорной частоты QSPICLK

◆ CLKCTR_SEL_MAX

#define CLKCTR_SEL_MAX
Макроопределение:
(CLKCTR_PLLCFG_SEL_Msk \
>> CLKCTR_PLLCFG_SEL_Pos)

Максимальное значение SEL

◆ CLKCTR_SYSCLK_MAX

#define CLKCTR_SYSCLK_MAX   50000000

Максимальное значение опорной частоты SYSCLK

◆ CLKCTR_SYSCLK_MIN

#define CLKCTR_SYSCLK_MIN   1

Минимальное значение опорной частоты SYSCLK

◆ CLKCTR_XTI32_MAX

#define CLKCTR_XTI32_MAX   34000

Максимальное значение частоты XTI32

◆ CLKCTR_XTI32_MIN

#define CLKCTR_XTI32_MIN   30000

Минимальное значение частоты XTI32

◆ CLKCTR_XTI_MAX

#define CLKCTR_XTI_MAX   50000000

Максимальное значение частоты XTI

◆ CLKCTR_XTI_MIN

#define CLKCTR_XTI_MIN   1

Минимальное значение частоты XTI

◆ HFI_FREQUENCY

#define HFI_FREQUENCY   15100000

Частота внутреннего генератора "по умолчанию"

◆ PLL_MAX_MULTIPLIER

#define PLL_MAX_MULTIPLIER   0x176

Максимальное для PLL

◆ PLL_MIN_MULTIPLIER

#define PLL_MIN_MULTIPLIER   0x0

Минимальное для PLL

Перечисления

◆ clkctr_clk_force_type

Тип тактирования

Элементы перечислений
CLKCTR_ClkForceTypeDynamic 

Динамический

CLKCTR_ClkForceTypeForce 

Принудительный

◆ clkctr_device_clk_force

Домены, к которым может быть применено динамическое тактирование

Элементы перечислений
CLKCTR_SysSysClkForce 

Системный домен общей подсистемы

CLKCTR_SysFClkForce 

Системный домен частоты FCLK

CLKCTR_SRAMSysClkForce 

Домен подсистемы памяти SRAM

CLKCTR_SRAMFClkForce 

Домен SRAM FCLK

CLKCTR_CPUSysClkForce 

Домен подсистемы CPU

CLKCTR_CPUFClkForce 

Домен CPU FCLK

CLKCTR_CryptoSysClkForce 

Домен криптоблока

CLKCTR_CPUDBGPikClkForce 

Домен отладки CPU

CLKCTR_BasePikClkForce 

Домен базовый

CLKCTR_SMCClkForce 

Домен блока тактирования SMC

CLKCTR_GMSSysClkForce 

Домен системного блока GSM

◆ clkctr_extern_freq

Генератор/осциллятор/вход, для которого групповой функцией устанавливается частота

Элементы перечислений
CLKCTR_ExternFreqXTI 

Внешний высокочастотный генератор (вход XTI)

CLKCTR_ExternFreqXTI32 

Внешний низкочастотный осциллятор (вход XTI32)

CLKCTR_ExternFreqHFI 

Внутренний высокочастотный осциллятор HFI

CLKCTR_ExternFreqLFI 

Внутренний высокочастотный осциллятор LFI

CLKCTR_ExternFreqI2SExtClk 

Внешняя частота I2S_EXTCLK (PA15)

◆ clkctr_hfi_for_main_type

Частота, определенная как HFICLK для MAINCLK (CLKCTR_MainClkTypeHFICLK)

Заметки
В зависимости от режима работы процессора (задается входом PMUDIS) при переключении MAINCLK на HFICLK частота может быть переключена как на HFICLK, так и на XTICLK.
Элементы перечислений
CLKCTR_HFIForMainTypeHFI 

HFI

CLKCTR_HFIForMainTypeXTI 

XTI

◆ clkctr_i2sclk

Подаваемая на I2SCLK частота

Элементы перечислений
CLKCTR_I2SClkTypeSysClk 

Внутренний генератор

CLKCTR_I2SClkTypeI2SClk 

Внешний вход (PA15)

◆ clkctr_int_freq

Имя внутренней частоты тактирования микросхемы, для которой производится действие групповой функцией

Элементы перечислений
CLKCTR_IntFreqXTIClk 

Для внешнего высокочастотного генератора

CLKCTR_IntFreqHFIClk 

Для внутреннего высокочастотного генератора

CLKCTR_IntFreqRTCClk 

Для генератора реального времени

CLKCTR_IntFreqLPClk 

Для генератора реального времени для тактирования таймеров

CLKCTR_IntFreqPLLClk 

Для выходной частоты PLL

CLKCTR_IntFreqPLLRefClk 

Для опорной частоты PLL

CLKCTR_IntFreqMainClk 

Для главной частоты

CLKCTR_IntFreqUSBClk 

Для частоты USB PHY

CLKCTR_IntFreqFClkInt 

Для внутренней частоты FCLK_INT

CLKCTR_IntFreqFClk 

Для частоты CPU1 и SRAM3

CLKCTR_IntFreqSysClk 

Для системной частоты CPU0 и SRAM0-2, AHB/APB

CLKCTR_IntFreqGNSSClk 

Для частоты тактирования GNSS

CLKCTR_IntFreqQSPIClk 

Для частоты тактирования QSPI

CLKCTR_IntFreqI2SClk 

Для частоты тактирования I2S

CLKCTR_IntFreqMCOClk 

Для частоты тактирования MCO (выход на PA15)

CLKCTR_IntFreqHFIForMain 

Для частоты тактирования MAINCLK при переключении на HFI

◆ clkctr_lpclk

Подаваемая на LPCLK частота

Элементы перечислений
CLKCTR_LPClkTypeRTCClk 

От таймера реального времени

CLKCTR_LPClkType500 

От XTI/500

◆ clkctr_mainclk

Подаваемая на MAINCLK частота

Элементы перечислений
CLKCTR_MainClkTypeHFIClk 

Внутренний генератор

CLKCTR_MainClkTypeXTIClk 

Внешний генератор

CLKCTR_MainClkTypePLLClk 

Блок PLL

CLKCTR_MainClkTypeMax 

Максимально допустимое значение

◆ clkctr_mcoclk

Подаваемая на MCO частота

Элементы перечислений
CLKCTR_MCOClkTypeHFIClk 

Частота внутреннего генератора

CLKCTR_MCOClkTypeRTCClk 

Частота таймера реального времени

CLKCTR_MCOClkTypeLPClk 

Частота таймера реального времени

CLKCTR_MCOClkTypeMainClk 

Основная частота

CLKCTR_MCOClkTypePLLClk 

Частота от PLL

CLKCTR_MCOClkTypeSysClk 

Системная частота

CLKCTR_MCOClkTypeFClkInt 

Внутренняя частота процессора F_INTCLK

CLKCTR_MCOClkTypeFClk 

Внутрення частота после динамического управления

◆ clkctr_pllref

Опорная частота PLL.

Элементы перечислений
CLKCTR_PLLRefTypeHFIClk 

Внутренний генератор

CLKCTR_PLLRefTypeXTIClk 

Внешний генератор

◆ clkctr_rtcclk

Подаваемая на RTCCLK частота

Элементы перечислений
CLKCTR_RTCClkTypeLFI 

От внутреннего RC-осциллятора

CLKCTR_RTCClkTypeLFE 

От внешнего RC-осциллятора

◆ clkctr_status

Статусы драйвера CLKCTR.

Элементы перечислений
CLKCTR_Status_Ok 

Нет ошибок

CLKCTR_Status_InvalidArgument 

Недопустимый аргумент

CLKCTR_Status_CheckError 

Получена ошибка от оборудования

CLKCTR_Status_VerifyError 

Верификация не прошла

CLKCTR_Status_ConfigureError 

Недопустимая конфигурация или ошибка в описании оборудования

◆ clkctr_usbclk

Подаваемая на USBCLK частота

Элементы перечислений
CLKCTR_USBClkTypeHFIClk 

Внутренний генератор

CLKCTR_USBClkTypeXTIClk 

Внешний генератор

Функции

◆ CLKCTR_GetAllDiv()

enum clkctr_status CLKCTR_GetAllDiv ( CLKCTR_Type * base,
struct clkctr_div * divisors )

Извлечение всех делителей блока CLKCTR.

Аргументы
baseБлок частот
divisorsСтруктура с делителями блока
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument

◆ CLKCTR_GetClk()

enum clkctr_status CLKCTR_GetClk ( CLKCTR_Type * base,
enum clkctr_int_freq clk,
uint32_t * value )

Извлечение значения указанной частоты

Аргументы
baseБлок частот
clkЧастота
valueЗначение частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument

◆ CLKCTR_GetClkForce()

enum clkctr_status CLKCTR_GetClkForce ( CLKCTR_Type * base,
enum clkctr_device_clk_force device,
enum clkctr_clk_force_type * clk_type )

Извлечение типа тактирования для модуля

Аргументы
baseБлок частот
deviceМодуль
clk_typeТип тактирования
Возвращает
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument

◆ CLKCTR_GetDivClk()

enum clkctr_status CLKCTR_GetDivClk ( CLKCTR_Type * base,
enum clkctr_int_freq clk,
uint32_t * value )

Извлечение коэффициента деления для указанной частоты

Аргументы
baseБлок частот
clkКонфигурируемая частота
valueКоэффициент деления
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument

◆ CLKCTR_GetFClk()

uint32_t CLKCTR_GetFClk ( CLKCTR_Type * base)

Извлечение значения частоты FCLK.

Заметки
Динамическое тактирование не учитывается.
Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetFClkDiv()

uint32_t CLKCTR_GetFClkDiv ( CLKCTR_Type * base)

Извлечение значения делителя FCLKDiv.

Аргументы
baseБлок частот
Возвращает
Значение делителя

◆ CLKCTR_GetFClkInt()

uint32_t CLKCTR_GetFClkInt ( CLKCTR_Type * base)

Извлечение значения частоты FCLK_INT.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetFrequency()

uint32_t CLKCTR_GetFrequency ( CLKCTR_Type * base,
enum clkctr_extern_freq input )

Извлечение значения частоты, подаваемой на выбранный вход

Аргументы
baseБлок частот
inputВход, для которого определяется частота
Возвращает
Значение частоты в Гц или CLKCTR_FREQ_NOT_SET

◆ CLKCTR_GetGNSSClk()

uint32_t CLKCTR_GetGNSSClk ( CLKCTR_Type * base)

Извлечение значения частоты GNSSCLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetGNSSClkDiv()

uint32_t CLKCTR_GetGNSSClkDiv ( CLKCTR_Type * base)

Извлечение значения делителя GNSSCLKDiv.

Аргументы
baseБлок частот
Возвращает
Значение делителя

◆ CLKCTR_GetHFI()

uint32_t CLKCTR_GetHFI ( CLKCTR_Type * base)

Извлечение значения частоты внутреннего генератора APC.

Заметки
Частота определена как HFI.
Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц или CLKCTR_FREQ_NOT_SET

◆ CLKCTR_GetHFIClk()

uint32_t CLKCTR_GetHFIClk ( CLKCTR_Type * base)

Извлечение значения частоты HFICLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetHFIClkForMainClk()

uint32_t CLKCTR_GetHFIClkForMainClk ( CLKCTR_Type * base)

Извлечение значения частоты HFICLK для MAINCLK.

Заметки
HFICLK для MAINCLK зависит от значения сигнала на внешней ножке PMUDIS.
Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetHFITrim()

uint32_t CLKCTR_GetHFITrim ( CLKCTR_Type * base)

Извлечение индекса коэффициента подстройки частоты осциллятора HFI.

Аргументы
baseБлок частот
Возвращает
Индекс коэффициента подстройки частоты

◆ CLKCTR_GetI2SClk()

uint32_t CLKCTR_GetI2SClk ( CLKCTR_Type * base)

Извлечение значения частоты I2SCLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetI2SClkDiv()

uint32_t CLKCTR_GetI2SClkDiv ( CLKCTR_Type * base)

Извлечение значения делителя I2SCLKDiv.

Аргументы
baseБлок частот
Возвращает
Значение делителя

◆ CLKCTR_GetI2SExtClk()

uint32_t CLKCTR_GetI2SExtClk ( CLKCTR_Type * base)

Извлечение значения частоты, поступаемой на PA15.

Заметки
Частота определена как I2S_EXTCLK.
Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц или CLKCTR_FREQ_NOT_SET

◆ CLKCTR_GetLFI()

uint32_t CLKCTR_GetLFI ( CLKCTR_Type * base)

Извлечение значения частоты внутреннего генератора RWC.

Заметки
Частота определена как LFI.
Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц или CLKCTR_FREQ_NOT_SET

◆ CLKCTR_GetLPClk()

uint32_t CLKCTR_GetLPClk ( CLKCTR_Type * base)

Извлечение значения частоты LPCLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetMainClk()

uint32_t CLKCTR_GetMainClk ( CLKCTR_Type * base)

Извлечение значения частоты MAINCLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetMCOClk()

uint32_t CLKCTR_GetMCOClk ( CLKCTR_Type * base)

Извлечение значения частоты MCOCLK, подаваемой на вывод PA15.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetMCODiv()

uint32_t CLKCTR_GetMCODiv ( CLKCTR_Type * base)

Извлечение значения делителя MCODiv.

Возвращает
Значение делителя

◆ CLKCTR_GetMCOEn()

uint32_t CLKCTR_GetMCOEn ( CLKCTR_Type * base)

Извлечение разрешения тактового сигнала MCO.

Аргументы
baseБлок частот
Возвращает
0 Вывод запрещен
1 Вывод разрешен

◆ CLKCTR_GetPLLClk()

uint32_t CLKCTR_GetPLLClk ( CLKCTR_Type * base)

Извлечение значения частоты PLLCLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц или CLKCTR_FREQ_NOT_SET, если PLL не вышла в рабочий режим

◆ CLKCTR_GetPLLConfig()

enum clkctr_status CLKCTR_GetPLLConfig ( CLKCTR_Type * base,
struct clkctr_pll_cfg * config )

Извлечение коэффициентов PLL.

Аргументы
baseБлок частот
configСтруктура коэффициентов PLL
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument

◆ CLKCTR_GetPLLRef()

uint32_t CLKCTR_GetPLLRef ( CLKCTR_Type * base)

Извлечение значения опорной частоты PLL.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetQSPIClk()

uint32_t CLKCTR_GetQSPIClk ( CLKCTR_Type * base)

Извлечение значения частоты QSPICLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetQSPIClkDiv()

uint32_t CLKCTR_GetQSPIClkDiv ( CLKCTR_Type * base)

Извлечение значения делителя QSPICLKDiv.

Аргументы
baseБлок частот
Возвращает
Значение делителя

◆ CLKCTR_GetRTCClk()

uint32_t CLKCTR_GetRTCClk ( CLKCTR_Type * base)

Извлечение значения частоты RTCCLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetSwitchClk()

enum clkctr_status CLKCTR_GetSwitchClk ( CLKCTR_Type * base,
enum clkctr_int_freq clk,
uint32_t * value )

Извлечение источника частоты для указанной частоты

Аргументы
baseБлок частот
clkКонфигурируемая частота
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument

◆ CLKCTR_GetSwitchI2SClk()

uint32_t CLKCTR_GetSwitchI2SClk ( CLKCTR_Type * base)

Извлечение источника частоты I2SCLK.

Аргументы
baseБлок частот
Возвращает
Источник частоты

◆ CLKCTR_GetSwitchLPClk()

uint32_t CLKCTR_GetSwitchLPClk ( CLKCTR_Type * base)

Извлечение источника частоты LPCLK.

Аргументы
baseБлок частот
Возвращает
Источник частоты

◆ CLKCTR_GetSwitchMainClk()

uint32_t CLKCTR_GetSwitchMainClk ( CLKCTR_Type * base)

Извлечение источника частоты MAINCLK.

Аргументы
baseБлок частот
Возвращает
Источник частоты

◆ CLKCTR_GetSwitchMCOClk()

uint32_t CLKCTR_GetSwitchMCOClk ( CLKCTR_Type * base)

Извлечение источника частоты MCO.

Аргументы
baseБлок частот
Возвращает
Источник частоты

◆ CLKCTR_GetSwitchPLLRef()

uint32_t CLKCTR_GetSwitchPLLRef ( CLKCTR_Type * base)

Извлечение источника частоты PLL.

Аргументы
baseБлок частот
Возвращает
Источник частоты

◆ CLKCTR_GetSwitchPMUDIS()

uint32_t CLKCTR_GetSwitchPMUDIS ( CLKCTR_Type * base)

Определение режима работы процессора

Функция возвращает значение, поданное на вход PMUDIS, которое определяет выбранные источники частоты LPCLK и MAINCLK при выбранном источнике CLKCTR_MainClkTypeHFIClk.

Аргументы
baseБлок частот
Возвращаемые значения
0Логический 0 на входе PMUDIS
1Логическая 1 на входе PMUDIS

◆ CLKCTR_GetSwitchRTCClk()

uint32_t CLKCTR_GetSwitchRTCClk ( CLKCTR_Type * base)

Извлечение источника частоты RTCCLK.

Аргументы
baseБлок частот
Возвращает
Источник частоты

◆ CLKCTR_GetSwitchUSBClk()

uint32_t CLKCTR_GetSwitchUSBClk ( CLKCTR_Type * base)

Извлечение источника частоты USBCLK.

Аргументы
baseБлок частот
Возвращает
Источник частоты

◆ CLKCTR_GetSysClk()

uint32_t CLKCTR_GetSysClk ( CLKCTR_Type * base)

Извлечение значения частоты SYSCLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetSysClkDiv()

uint32_t CLKCTR_GetSysClkDiv ( CLKCTR_Type * base)

Извлечение значения делителя SYSCLKDiv.

Аргументы
baseБлок частот
Возвращает
Значение делителя

◆ CLKCTR_GetUSBClk()

uint32_t CLKCTR_GetUSBClk ( CLKCTR_Type * base)

Извлечение значения частоты USBCLK, подаваемого на USB PHY.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_GetXTI()

uint32_t CLKCTR_GetXTI ( CLKCTR_Type * base)

Извлечение значения частоты, подаваемой на вход XTI.

Заметки
Частота определена как XTICLK.
Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц или CLKCTR_FREQ_NOT_SET

◆ CLKCTR_GetXTI32()

uint32_t CLKCTR_GetXTI32 ( CLKCTR_Type * base)

Извлечение значения частоты, подаваемой на вход XTI32.

Заметки
Частота определена как LFE.
Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц или CLKCTR_FREQ_NOT_SET

◆ CLKCTR_GetXTIClk()

uint32_t CLKCTR_GetXTIClk ( CLKCTR_Type * base)

Извлечение значения частоты XTICLK.

Аргументы
baseБлок частот
Возвращает
Значение частоты в Гц

◆ CLKCTR_SetClkForce()

enum clkctr_status CLKCTR_SetClkForce ( CLKCTR_Type * base,
enum clkctr_device_clk_force device,
enum clkctr_clk_force_type clk_type )

Установка типа тактирования для модуля

Аргументы
baseБлок частот
deviceМодуль
clk_typeТип тактирования
Возвращает
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument

◆ CLKCTR_SetDivClk()

enum clkctr_status CLKCTR_SetDivClk ( CLKCTR_Type * base,
enum clkctr_int_freq clk,
uint32_t value )

Установка коэффициента деления для указанной частоты

Аргументы
baseБлок частот
clkКонфигурируемая частота
valueКоэффициент деления
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetFClkDiv()

enum clkctr_status CLKCTR_SetFClkDiv ( CLKCTR_Type * base,
uint32_t value )

Установка значения делителя FCLKDiv.

Заметки
Допустимые значения делителя - от 1 до 32.
Аргументы
baseБлок частот
valueЗначение делителя
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetFrequency()

enum clkctr_status CLKCTR_SetFrequency ( CLKCTR_Type * base,
enum clkctr_extern_freq input,
uint32_t frequency )

Установка значения частоты, подаваемой на выбранный вход

Аргументы
baseБлок частот
inputВход, для которого устанавливается частота
frequencyЗначение частоты в Гц
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetGNSSClkDiv()

enum clkctr_status CLKCTR_SetGNSSClkDiv ( CLKCTR_Type * base,
uint32_t value )

Установка значения делителя GNSSCLKDiv.

Заметки
Допустимые значения делителя - от 1 до 8.
Аргументы
baseБлок частот
valueЗначение делителя
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetHFI()

enum clkctr_status CLKCTR_SetHFI ( CLKCTR_Type * base,
uint32_t frequency )

Установка значения частоты внутреннего генератора APC.

Заметки
Частота определена как HFI.
Установка частоты происходит без учета подстройки HFITRIM.
Аргументы
baseБлок частот
frequencyЗначение частоты в Гц
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetHFITrim()

enum clkctr_status CLKCTR_SetHFITrim ( CLKCTR_Type * base,
uint32_t index )

Установка индекса коэффициента подстройки частоты осциллятора HFI.

Заметки
Допустимые значения индекса коэффициента подстройки частоты - от 0 до 0x1f.
Аргументы
baseБлок частот
indexИндекс коэффициента подстройки частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetI2SClkDiv()

enum clkctr_status CLKCTR_SetI2SClkDiv ( CLKCTR_Type * base,
uint32_t value )

Установка значения делителя I2SCLKDiv.

Заметки
Допустимые значения делителя - от 1 до 32.
Аргументы
baseБлок частот
valueЗначение делителя
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetI2SExtClk()

enum clkctr_status CLKCTR_SetI2SExtClk ( CLKCTR_Type * base,
uint32_t frequency )

Установка значения частоты, поступаемой на PA15.

Заметки
Частота определена как I2S_EXTCLK.
Ножка порта PA15 не переконфигурируется.
Аргументы
baseБлок частот
frequencyЗначение частоты в Гц
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetLFI()

enum clkctr_status CLKCTR_SetLFI ( CLKCTR_Type * base,
uint32_t frequency )

Установка значения частоты внутреннего генератора RWC.

Заметки
Частота определена как LFI.
Аргументы
baseБлок частот
frequencyЗначение частоты в Гц
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetMCODiv()

enum clkctr_status CLKCTR_SetMCODiv ( CLKCTR_Type * base,
uint32_t value )

Установка значения делителя MCODiv.

Заметки
Допустимые значения делителя - от 1 до 32.
Аргументы
baseБлок частот
valueЗначение делителя
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetMCOEn()

enum clkctr_status CLKCTR_SetMCOEn ( CLKCTR_Type * base,
uint32_t enable )

Установка или запрет разрешения тактового сигнала MCO.

Аргументы
baseБлок частот
enable0 - запрещает вывод частоты, !0 - разрешает
Возвращает
CLKCTR_Status_Ok

◆ CLKCTR_SetPll()

void CLKCTR_SetPll ( CLKCTR_Type * base,
uint32_t xti_hz,
uint32_t pll_mul )

Установка целочисленного множителя PLL.

Заметки
Для изменения делителей перед вызовом этой функции нужно вызвать CLKCTR_SetSysDiv.
Для использования внутреннего HFI в качестве частоты внешнего генератора следует передать 0 через xti_hz.
Аргументы
baseБлок частот
xti_hzЧастота внешнего генератора в Гц
pll_mulЦелочисленный множитель PLL

◆ CLKCTR_SetPLLConfig()

enum clkctr_status CLKCTR_SetPLLConfig ( CLKCTR_Type * base,
struct clkctr_pll_cfg config )

Установка коэффициентов PLL.

Функция устанавливает коэффициенты PLL и ждет завершения конфигурации.

Заметки
В момент использования функции не должно производиться тактирование от PLL.
Аргументы
baseБлок частот
configСтруктура коэффициентов PLL
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetPllMan()

enum clkctr_status CLKCTR_SetPllMan ( CLKCTR_Type * base,
uint32_t xti_hz,
uint32_t nr,
uint32_t nf,
uint32_t od )

Установка множителей PLL в ручном режиме

Заметки
Для изменения делителей перед вызовом этой функции нужно вызвать CLKCTR_SetSysDiv.
Для использования внутреннего HFI в качестве частоты внешнего генератора следует передать 0 через xti_hz.
Умноженная частота перед делителем OD не должна превышать 375МГц ((xti_hz / nr) * nf) <= 375000000
Предделитель выходной частоты OD может иметь значения 1 или четные значение в диапозоне 2-16.
Аргументы
baseБлок частот
xti_hzЧастота внешнего генератора в Гц
nrПредделитель опорной частоты
nfМножитель частоты
odПредделитель выходной частоты PLL
Возвращаемые значения
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError
CLKCTR_Status_Ok

◆ CLKCTR_SetQSPIClkDiv()

enum clkctr_status CLKCTR_SetQSPIClkDiv ( CLKCTR_Type * base,
uint32_t value )

Установка значения делителя QSPICLKDiv.

Заметки
Допустимые значения делителя - от 1 до 32.
Аргументы
baseБлок частот
valueЗначение делителя
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchClk()

enum clkctr_status CLKCTR_SetSwitchClk ( CLKCTR_Type * base,
enum clkctr_int_freq clk,
uint32_t value )

Выбор источника частоты для указанной частоты

Аргументы
baseБлок частот
clkКонфигурируемая частота
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchI2SClk()

enum clkctr_status CLKCTR_SetSwitchI2SClk ( CLKCTR_Type * base,
uint32_t value )

Выбор источника частоты I2SCLK.

Заметки
Индексы источника частоты перечислены в clkctr_i2sclk.
Аргументы
baseБлок частот
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchLPClk()

enum clkctr_status CLKCTR_SetSwitchLPClk ( CLKCTR_Type * base,
uint32_t value )

Выбор источника частоты LPCLK.

Функция переключает источник частоты LPCLK; переключение связано с изменением частоты MAINCLK при выбранном источнике CLKCTR_MainClkTypeHFIClk.

Заметки
Индексы источника частоты перечислены в clkctr_lpclk.
Аргументы
baseБлок частот
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchMainClk()

enum clkctr_status CLKCTR_SetSwitchMainClk ( CLKCTR_Type * base,
uint32_t value )

Выбор источника частоты MAINCLK.

Заметки
Индексы источника частоты перечислены в clkctr_mainclk.
Аргументы
baseБлок частот
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchMCOClk()

enum clkctr_status CLKCTR_SetSwitchMCOClk ( CLKCTR_Type * base,
uint32_t value )

Выбор источника частоты MCO.

Заметки
Индексы источника частоты перечислены в clkctr_mcoclk.
Аргументы
baseБлок частот
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchPLLRef()

enum clkctr_status CLKCTR_SetSwitchPLLRef ( CLKCTR_Type * base,
uint32_t value )

Выбор источника опорной частоты PLL.

Заметки
В момент использования функции не должно производиться тактирование от PLL.
Индексы источника частоты перечислены в clkctr_pllref.
Аргументы
baseБлок частот
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchPMUDIS()

enum clkctr_status CLKCTR_SetSwitchPMUDIS ( CLKCTR_Type * base,
uint32_t value )

Выбор режима работы процессора

Значение, подаваемое на вход PMUDIS, определяет, какие выбраны источники частоты LPCLK и MAINCLK при выбранном источнике CLKCTR_MainClkTypeHFIClk.

Заметки
Физически выбор определяется уровнем напряжения на входе микросхемы.
Допустимые значения, подаваемые на вход PMUDIS - 0 и 1; 0 соответствует логическому нулю на физическом входе PMUDIS, а !0
  • единице.
Аргументы
baseБлок частот
valueЗначение, подаваемое на вход PMUDIS
Возвращаемые значения
CLKCTR_Status_Ok

◆ CLKCTR_SetSwitchRTCClk()

enum clkctr_status CLKCTR_SetSwitchRTCClk ( CLKCTR_Type * base,
uint32_t value )

Выбор источника частоты RTCCLK.

Заметки
Индексы источника частоты перечислены в clkctr_rtcclk.
Аргументы
baseБлок частот
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSwitchUSBClk()

enum clkctr_status CLKCTR_SetSwitchUSBClk ( CLKCTR_Type * base,
uint32_t value )

Выбор источника частоты USBCLK.

Заметки
Индексы источника частоты перечислены в clkctr_usbclk.
Аргументы
baseБлок частот
valueИндекс источника частоты
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSysClkDiv()

enum clkctr_status CLKCTR_SetSysClkDiv ( CLKCTR_Type * base,
uint32_t value )

Установка значения делителя SYSCLKDiv.

Заметки
Допустимые значения делителя - от 1 до 32.
Аргументы
baseБлок частот
valueЗначение делителя
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_InvalidArgument
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetSysDiv()

void CLKCTR_SetSysDiv ( CLKCTR_Type * base,
uint16_t fclk_div,
uint16_t sysclk_div,
uint16_t gnssclk_div,
uint16_t qspiclk_div )

Установка делителей

Аргументы
baseБлок частот
fclk_divДелитель частоты FCLK
sysclk_divДелитель частоты SYSCLK
gnssclk_divДелитель частоты GNSSCLK
qspiclk_divДелитель частоты QSPICLK

◆ CLKCTR_SetXTI()

enum clkctr_status CLKCTR_SetXTI ( CLKCTR_Type * base,
uint32_t frequency )

Установка значения частоты, подаваемой на вход XTI.

Заметки
Частота определена как XTICLK.
Аргументы
baseБлок частот
frequencyЗначение частоты в Гц
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_ConfigureError

◆ CLKCTR_SetXTI32()

enum clkctr_status CLKCTR_SetXTI32 ( CLKCTR_Type * base,
uint32_t frequency )

Установка значения частоты, подаваемой на вход XTI32.

Заметки
Частота определена как LFE.
Аргументы
baseБлок частот
frequencyЗначение частоты в Гц
Возвращаемые значения
CLKCTR_Status_Ok
CLKCTR_Status_ConfigureError