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

Stm32f10x stdperiph lib 3.5

Оригинал:

#define RCC_PLLSource_HSI_Div2           ((uint32_t)0x00000000)

#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_CL)
# define RCC_PLLSource_HSE_Div1           ((uint32_t)0x00010000)
# define RCC_PLLSource_HSE_Div2           ((uint32_t)0x00030000)
# define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \
                                   ((SOURCE) == RCC_PLLSource_HSE_Div1) || \
                                   ((SOURCE) == RCC_PLLSource_HSE_Div2))
#else
# define RCC_PLLSource_PREDIV1            ((uint32_t)0x00010000)
# define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \
                                   ((SOURCE) == RCC_PLLSource_PREDIV1))
#endif

Как ИМХО должно быть (судя по TRM модуль RCC иной лишь в connectrivity line и только в нём нет RCC_PLLSource_HSE_Div2 т.к. там имеется PLL2):

#define RCC_PLLSource_HSI_Div2           ((uint32_t)0x00000000)

#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
# define RCC_PLLSource_HSE_Div1           ((uint32_t)0x00010000)
# define RCC_PLLSource_HSE_Div2           ((uint32_t)0x00030000)
# define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \
                                   ((SOURCE) == RCC_PLLSource_HSE_Div1) || \
                                   ((SOURCE) == RCC_PLLSource_HSE_Div2))
#elif defined (STM32F10X_CL)
# define RCC_PLLSource_PREDIV1            ((uint32_t)0x00010000)
# define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \
                                   ((SOURCE) == RCC_PLLSource_PREDIV1))
#else
# error UNKNOWN MCU_LINE!
#endif

Это может быть нужным при использовании внешнего кварца на 16МГц (собственно я из-за этого и наткнулся на этот косяк) и при

грамотном объявлении типа линейки STM32:

STM32F10X_LD_VL

STM32F10X_MD_VL

STM32F10X_HD_VL

STM32F10X_CL

 

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


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

А обычные линейки по что забыли-то?

Полный список из stm32f10x.h

  /* #define STM32F10X_LD */     /*!< STM32F10X_LD: STM32 Low density devices */
  /* #define STM32F10X_LD_VL */  /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */  
  /* #define STM32F10X_MD */     /*!< STM32F10X_MD: STM32 Medium density devices */
  /* #define STM32F10X_MD_VL */  /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */  
  /* #define STM32F10X_HD */     /*!< STM32F10X_HD: STM32 High density devices */
  /* #define STM32F10X_HD_VL */  /*!< STM32F10X_HD_VL: STM32 High density value line devices */  
  /* #define STM32F10X_XL */     /*!< STM32F10X_XL: STM32 XL-density devices */
  /* #define STM32F10X_CL */     /*!< STM32F10X_CL: STM32 Connectivity line devices */

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


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

Ага, забыл. Спасибо!

Тогда вроде всё сходится...

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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