STM32 настройка частоты в system_stm32f10x.c

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Аватара пользователя
aiRicko
Родился
Сообщения: 17
Зарегистрирован: Вт окт 10, 2017 20:31:08

STM32 настройка частоты в system_stm32f10x.c

Сообщение aiRicko »

Всем привет, кто-нибудь может рассказать как работают следующие строчки из файла system_stm32f10x.c :
( среда - Keil )
Спойлер/*!< Uncomment the line corresponding to the desired System clock (SYSCLK)
frequency (after reset the HSI is used as SYSCLK source)

IMPORTANT NOTE:
==============
1. After each device reset the HSI is used as System clock source.

2. Please make sure that the selected System clock doesn't exceed your device's
maximum frequency.

3. If none of the define below is enabled, the HSI is used as System clock
source.

4. The System clock configuration functions provided within this file assume that:
- For Low, Medium and High density Value line devices an external 8MHz
crystal is used to drive the System clock.
- For Low, Medium and High density devices an external 8MHz crystal is
used to drive the System clock.
- For Connectivity line devices an external 25MHz crystal is used to drive
the System clock.
If you are using different crystal you have to adapt those functions accordingly.
*/

#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
#define SYSCLK_FREQ_24MHz 24000000
#else
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz 24000000 */
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif
При каких условиях в данном случае он запустится на частоте 24MHz, при каких от 72MHz?
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение Мурик »

От того какая из строк раскомментирована, зависит частота SYSCLK. Если раскомментирована HSE_VALUE, то она соответствует частоте кварца. В других случаях, частота будет иметь значение как в имени константы при условии что частота кварца 8 МГц.
Реклама
Аватара пользователя
aiRicko
Родился
Сообщения: 17
Зарегистрирован: Вт окт 10, 2017 20:31:08

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение aiRicko »

Я правильно думаю, что в данном случае SYSCLK будет работать на 72MHz, а в случае проблем с этим источником/частотой будет работать на 24MHz ?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение dosikus »

aiRicko, не в случае "проблем с этим источником", а в зависимости от выбора линейки.

#if , #else,#define, #endif директивы условной компиляции препроцессора компилятора а не операторы .

Для повышения кругозора - https://prog-cpp.ru/c-directives/

http://we.easyelectronics.ru/Soft/preprocessor-c.html
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
aiRicko
Родился
Сообщения: 17
Зарегистрирован: Вт окт 10, 2017 20:31:08

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение aiRicko »

Все понятно, что-то я не обратил внимания ни на # ни на defined, раньше пользовался только #include и #define. Получается если к проекту подключен один из этих файлов - компилируется первый вариант, если нет - второй ?
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение dosikus »

Не файлы а дефайны, то бишь определение.
А они или прописываются в опциях препроцессора, либо в хэдерах.
Настоятельно прошу - найдите курс лекций Линского на тытрубе , и внимательно изучите основы компиляции.
Реклама
Аватара пользователя
aiRicko
Родился
Сообщения: 17
Зарегистрирован: Вт окт 10, 2017 20:31:08

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение aiRicko »

Спасибо за информацию. Курс лекций Линского C++ ?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение dosikus »

Да, несмотря на то что лекции о плюсах, в самом начале информация о просто С и основах компиляции.
Изложено весьма доходчиво, рекомендую с совместным чтением классиков - Керниган и Ричи...
Если что не поймете, спрашивайте здесь.

ЗЫ. Мурику так же не помешало бы, поменьше бы кидался на всякую хрень...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 настройка частоты в system_stm32f10x.c

Сообщение Мурик »

Досикус, вам бы не помешал бы курс хороших манер, а то хамите слишком часто.
Ответить

Вернуться в «ARM»