STM32F030F4P6 помогите с PLL
15.07.2016, 14:52
|
#121
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
В железе проверить не могу, нету у меня этого 030C8, а вот софтово - всё компилится.
В этом МК TIM6 есть точно. TIM7 нету, а 6-й есть. А вот в 030C6 и ниже нету ни TIM6, ни TIM7.
Цитата из даташита:
1. TIMER6, TIMER15, SPI, USART2 and I2C2 are available on STM32F030x8/C devices only.
|
|
|
|
15.07.2016, 15:22
|
#122
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
Добрый день. Не получается запустить от HSE stm32f373rc.
На внутреннем работает без проблем... Но если включаю ПЛЛ для внутреннего то тоже чип не работает...
|
PHP код:
|
RCC_DeInit();
RCC_HSICmd(DISABLE);
//FLASH_SetLatency(FLASH_Latency_0);
RCC_HSEConfig(RCC_HSE_ON);
RCC_PLLConfig(RCC_SYSCLKSource_HSE, RCC_PLLMul_6);
RCC_PLLCmd(ENABLE);//??? PLL
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);
|
Подскажите плиз нюансы. Читал про 103-ий чип пример. Там говорили латентность флешь выставлять. Но после этого я еле стер чип... Подключил внешний кварц, держал его обе ножки пальцем и только тогда смог стереть.....))
|
|
|
|
15.07.2016, 15:24
|
#123
|
|
Гражданин KAZUS.RUN
Регистрация: 16.02.2012
Сообщений: 440
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
а счетчик TIM6 работает? флаги переполнения/прерывания устанавливаются?
|
|
|
|
15.07.2016, 15:27
|
#124
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
Включить то генераторы включили, это хорошо. А теперь надо переключить на работу от этого самого HSE или PLL, в зависимости от того, какая частота нужна.
Переключается в регистре RCC_CFGR парой битов SW
https://kazus.run/forums/showthread.php?t=113109#
Последний раз редактировалось NewWriter; 15.07.2016 в 15:40.
|
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
15.07.2016, 16:19
|
#125
|
|
Гражданин KAZUS.RUN
Регистрация: 16.02.2012
Сообщений: 440
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
miwutka ждать RCC_FLAG_HSERDY, RCC_FLAG_PLLRDY разве не нужно?
|
|
|
|
15.07.2016, 16:34
|
#126
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
zöner, а я фиг его знает )))) ща буду пробовать и шим на таймере сделаю и буду по нему проверять...
|
|
|
|
15.07.2016, 17:32
|
#127
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
NewWriter, я почитал тему. В кокосе там на 103-ий я так же делал и все работало. А вот с этим 373 чипом чуток недопонимаю. Вот систем файл. Подскажите как использовать его функции(их там 3 всего). И где менять значения? Я так понял значения надо менять или в начале где масссив на 16 элементов, или в функции SystemCoreClockUpdate вот эти переменные tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; ???
|
|
|
|
15.07.2016, 18:36
|
#128
|
|
Гражданин KAZUS.RUN
Регистрация: 16.02.2012
Сообщений: 440
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
вот для 32F303:
Нажмите, чтобы открыть спойлер
|
Код:
|
HAL_RCC_DeInit();
flash_latency(FLASH_LATENCY_2, 1, 0);
RCC_OscInitTypeDef osc;
osc.OscillatorType = RCC_OSCILLATORTYPE_HSE;
osc.HSEState = RCC_HSE_ON;
osc.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
osc.PLL.PLLState = RCC_PLL_ON;
osc.PLL.PLLSource = RCC_PLLSOURCE_HSE;
osc.PLL.PLLMUL = RCC_PLL_MUL10;
if (HAL_RCC_OscConfig(&osc) == HAL_OK){
// Disable HSI Oscillator
osc.OscillatorType = RCC_OSCILLATORTYPE_HSI;
osc.HSIState = RCC_HSI_OFF;
osc.PLL.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&osc) != HAL_OK){}
} else { // while(1);
// HSE not started - start HSI
osc.OscillatorType = RCC_OSCILLATORTYPE_HSI;
osc.HSEState = RCC_HSE_OFF;
osc.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
osc.HSIState = RCC_HSI_ON;
osc.PLL.PLLState = RCC_PLL_ON;
osc.PLL.PLLSource = RCC_PLLSOURCE_HSI;
osc.PLL.PLLMUL = RCC_PLL_MUL12;
if (HAL_RCC_OscConfig(&osc) != HAL_OK) while(1);
}
// Select the PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers
RCC_ClkInitTypeDef clk;
clk.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
clk.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
clk.AHBCLKDivider = RCC_SYSCLK_DIV1;
clk.APB1CLKDivider = RCC_HCLK_DIV2;
clk.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&clk, FLASH_LATENCY_2) != HAL_OK) while(1); |
|
|
|
|
15.07.2016, 21:18
|
#129
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
Сообщение от МВА
|
|
Я тоже подумал, что можно вписать в таблицу векторов ТIM6
|
Там нужно не в одном месте StartUP ТИМ6 добавить, а в трёх. Это косяк файла StartUP.
|
|
|
|
Сказали "Спасибо" STM32F0
|
|
|
16.07.2016, 22:43
|
#130
|
|
Гражданин KAZUS.RUN
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 841
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
|
Re: STM32F030F4P6 помогите с PLL
Большое спасибо. Действительно, исправил - ТIM6 заработал.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:05.
|
|