Перейти к содержанию
    

Если оно не соответствует Вашему кварцу, то и расчет будет не верным. У меня кварц на 4096000, что отличается от дефолтного в 2 раза, вот тут то и были грабли.

Т.е. Вы задали HSE_VALUE = 36864000 ?

Фиксированный умножитель на 9 Вас устраивает?

В моем случае 12МГц умноженые на 9 давали не работоспособные 108 МГц и правка HSE_VALUE = 108000000 не спасала((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. Вы задали HSE_VALUE = 36864000 ?

Фиксированный умножитель на 9 Вас устраивает?

В моем случае 12МГц умноженые на 9 давали не работоспособные 108 МГц и правка HSE_VALUE = 108000000 не спасала((

 

Нет, HSE_VALUE я установил 4096000

 

#if !defined  HSE_VALUE
#ifdef STM32F10X_CL   
  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
#else 
  #define HSE_VALUE    ((uint32_t)4096000) /*!< Value of the External oscillator in Hz */
#endif /* STM32F10X_CL */
#endif /* HSE_VALUE */

Изменено пользователем Rimsky

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, HSE_VALUE я установил 4096000

 

#if !defined  HSE_VALUE
#ifdef STM32F10X_CL   
  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
#else 
  #define HSE_VALUE    ((uint32_t)4096000) /*!< Value of the External oscillator in Hz */
#endif /* STM32F10X_CL */
#endif /* HSE_VALUE */

Это частота внешнего кварца, а не частота с PLL. Точно.

Т.е. Вы поправили библиотечный файл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это частота внешнего кварца, а не частота с PLL. Точно.

Т.е. Вы поправили библиотечный файл?

 

Да это частота внешнего кварца. Библиотечный файл можно и не править, достаточно объявить это определение, например так:

#ifndef __GLOBALS_H
#define __GLOBALS_H

#define HSE_VALUE ((uint32_t)4096000)

#include "stm32f10x.h"
#include "stm32f10x_conf.h"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да это частота внешнего кварца. Библиотечный файл можно и не править, достаточно объявить это определение, например так:

#ifndef __GLOBALS_H
#define __GLOBALS_H

#define HSE_VALUE ((uint32_t)4096000)

#include "stm32f10x.h"
#include "stm32f10x_conf.h"

Объявить в каком файле?

В stm32f10x_conf.h (любом .h-файле, вызаваемом из stm32f10x_conf.h) или в совершенно произвольном месте?

А может в ключах компилятора?

 

А если у меня частота кварца 12МГц, то какая будет частота PLL? А если мне нужна другая частота PLL?

 

Спрошу по-другому: можно ли библиотеке указать частоту кварца 12МГц и частоту PLL 72МГц? И чтоб при этом все делители для UART рассчитывались правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно прочитать главу мануала за 10 минут, а потом за 8 минут настроить правильно делители PLL и забить на все эти библиотеки. Библиотека на то и библиотека, чтобы гнать какой-то стандарт. В случае частоты, чем больше тем лучше, вот и выводят проц на максимум... А если пошли уже все фигли мигли, то ручками, ручками

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...