Обновления системной частоты в stm32.

Смысл поста в том чтобы показать/напомнить самому себе как узнать текующаю тактовую частоту М.К.
Для тех кто пользуется средой разработки CoIDE. Используя функцию SystemCoreClockUpdate(); и значения SystemCoreClock, в файле system_stm32f0xx.c, можно узнать о текущей тактовой частоте микроконтроллера.
Переменную SystemCoreClock можно использовать для настроек задержки, таймеров или переферии. А далее в зависимости от предделителя я буду менять тактовоу частоту и выводить её на лсд.

#include "stm32f0xx.h"
#include "stm32f0xx_gpio.h"
#include "stm32f0xx_rcc.h"
#include "wh1602b.h"

int main(void)
{
 SystemInit(); //Инициализая тактовой частоты.
 char str[32]; 
 Init_lcd();//Инициализация LCD


 while(1)
 {
 SystemCoreClockUpdate();//Обновления тактовой частоты.
 sprintf(str,"%d",SystemCoreClock); 
 Lcd_goto(0,0);
 Lcd_write_str(str); //Вывод значения тактовой частоты М.К.

 }

Далее в функции SetSysClock(); меняем значения предделителя
 /* HCLK = SYSCLK */
 RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;
И получаем более низкую тактовую частоту.

Комментарии (4)

RSS свернуть / развернуть
и выводить её на лсд
ЛСД — это такое вещество. Хотя с его помощью тактовую частоту можно выводить хоть на ковер, да.

А для кода есть тег <code>.
+7
  • avatar
  • Vga
  • 22 ноября 2012, 23:43
Даташит не подскажете.?:-))))
0
Охотно. Успевай прочитать, пока и к нему ФСКН не прикопалось.
0
Полезная функция однако.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.