К1986ВЕ92FI_настройка тактирования.
#include "CPU_CLK.h" #define HSE_VALUE 8000000UL // Внешний кварц 8 МГц void CPU_CLK_72MHz_Config(void) { // 1. Настройка Flash для работы на 72 МГц (2 такта задержки) MDR_EEPROM-﹥CMD = (MDR_EEPROM-﹥CMD & ~7) | 2; // 2. Включаем внешний кварц HSE (8 МГц) RST_CLK_HSEconfig(RST_CLK_HSE_ON); while (RST_CLK_HSEstatus() == ERROR); // 3. Настраиваем PLL: вход = HSE (без деления), умножение = 9 =﹥ 72 МГц RST_CLK_CPU_PLLconfig(RST_CLK_CPU_PLLsrcHSEdiv1, RST_CLK_CPU_PLLmul9); RST_CLK_CPU_PLLcmd(ENABLE); while (RST_CLK_CPU_PLLstatus() == ERROR); // 4. Разрешаем использование PLL как источника (CPU_C2_SEL = PLL) RST_CLK_CPU_PLLuse(ENABLE); // 5. Настраиваем предделитель CPU_C3: деление на 1 (частота = 72 МГц) RST_CLK_CPUclkPrescaler(RST_CLK_CPUclkDIV1); // 6. Выбираем CPU_C3 как источник для HCLK (системной частоты) RST_CLK_CPUclkSelection(RST_CLK_CPUclkCPU_C3); }
#include "CPU_CLK.h" #define HSE_VALUE 8000000UL // Внешний кварц 8 МГц void CPU_CLK_72MHz_Config(void) { // 1. Настройка Flash для работы на 72 МГц (2 такта задержки) MDR_EEPROM-﹥CMD = (MDR_EEPROM-﹥CMD & ~7) | 2; // 2. Включаем внешний кварц HSE (8 МГц) RST_CLK_HSEconfig(RST_CLK_HSE_ON); while (RST_CLK_HSEstatus() == ERROR); // 3. Настраиваем PLL: вход = HSE (без деления), умножение = 9 =﹥ 72 МГц RST_CLK_CPU_PLLconfig(RST_CLK_CPU_PLLsrcHSEdiv1, RST_CLK_CPU_PLLmul9); RST_CLK_CPU_PLLcmd(ENABLE); while (RST_CLK_CPU_PLLstatus() == ERROR); // 4. Разрешаем использование PLL как источника (CPU_C2_SEL = PLL) RST_CLK_CPU_PLLuse(ENABLE); // 5. Настраиваем предделитель CPU_C3: деление на 1 (частота = 72 МГц) RST_CLK_CPUclkPrescaler(RST_CLK_CPUclkDIV1); // 6. Выбираем CPU_C3 как источник для HCLK (системной частоты) RST_CLK_CPUclkSelection(RST_CLK_CPUclkCPU_C3); }