Программирование микроконтроллеров

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование микроконтроллеров » STM32F0 » RCC - Reset and clock control


RCC - Reset and clock control

Сообщений 1 страница 2 из 2

1

stm32f072c8. Пример настройки системы тактирования. Кварц 8 МГц, работа от PLL, настроен на максимальные частоты - 48 МГц.

Код:
  FLASH->ACR = FLASH_ACR_LATENCY;

  RCC->CR |= RCC_CR_HSEON;  // включаем генератор HSE
  while(!(RCC->CR & RCC_CR_HSERDY));  // ожидание готовности HSE
  RCC->CFGR = RCC_CFGR_PLLSRC_HSE_PREDIV | RCC_CFGR_PLLMUL6;  // настраиваем предделители PLL
  RCC->CR |= RCC_CR_PLLON;  // включаем PLL
  while(!(RCC->CR & RCC_CR_PLLRDY));  // ожидание готовности PLL
  RCC->CFGR |= RCC_CFGR_SW_PLL;  // выбираем PLL для тактирования

В проекте нужно удалить те части кода, которые генерирует IDE для начальной инициализации системы тактирования. (вызов функции в стартапе).

0

2

Включение тактирование модулей МК.

Код:
  // включаем тактирование модулей
  RCC->AHBENR = 0x14 | RCC_AHBENR_DMA1EN;
  RCC->APB1ENR = RCC_APB1ENR_TIM2EN | RCC_APB1ENR_USART2EN;
  RCC->APB2ENR = RCC_APB2ENR_SPI1EN | RCC_APB2ENR_USART1EN;

Регистры AHBENR, APB1ENR, APB2ENR отвечают за включение тактирования модулей, которые сидят на соответствующих шинах AHB, APB1, APB2.

0


Вы здесь » Программирование микроконтроллеров » STM32F0 » RCC - Reset and clock control