реклама на сайте
подробности

 
 
> stm32L152RC SysTick
maxntf
сообщение Apr 23 2018, 15:09
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 13-05-09
Пользователь №: 49 008



Помогите разобраться, не правильно работает функция SystemCoreClockUpdate()
Когда запускаю тактирование без PLL от встроенного генератора HSI - 16Mhz, работает правильно.
А когда включаю PLL, функция SystemCoreClockUpdate() возвращает все равно значение 16MHz, хотя реальная частота 32MHz.
Работает только если самому прописать SystemCoreClock = 32000000 перед вызовом SysTick_Config.
Код
    
RCC_Init();    
SystemCoreClockUpdate();
SysTick_Config(SystemCoreClock/1000);//TO=1ms


Код
void RCC_Init(void)
{
RCC_HSICmd(ENABLE);
while (RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);

FLASH->ACR=FLASH_ACR_ACC64;
FLASH->ACR|=FLASH_ACR_LATENCY;
FLASH->ACR|=FLASH_ACR_PRFTEN;

RCC_PLLConfig(RCC_PLLSource_HSI, RCC_PLLMul_4, RCC_PLLDiv_2);
RCC_PLLCmd(ENABLE);//Включаем PLL
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);    

RCC_HSEConfig(RCC_HSE_OFF);
while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET);
}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01341 секунд с 7
ELECTRONIX ©2004-2016