你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CubeMx 的时钟配置

[复制链接]
xueshawu1 提问时间:2017-3-17 14:20 /
前段时间有幸在论坛领到一块NUCLEO-F413ZH,之前也没有用过CubeMx,所以想着去试一下;NUCLEO-F413板载是没有HSE的,所以只能把PLLCLK的时钟源选为HSI;
同时,我在下载了F4的官方软件工程 en.stm32cubef4 ,
然后,发现里面的时钟配置是这样的:

/**
  * @brief  System Clock Configuration
  *         The system Clock is configured as follow :
  *            System Clock source            = PLL (HSI)
  *            SYSCLK(Hz)                     = 100000000
  *            HCLK(Hz)                       = 100000000
  *            AHB Prescaler                  = 1
  *            APB1 Prescaler                 = 2
  *            APB2 Prescaler                 = 1
  *            HSE Frequency(Hz)              = 8000000
  *            PLL_M                          = 8
  *            PLL_N                          = 400
  *            PLL_P                          = 4
  *            PLL_Q                          = 7
  *            VDD(V)                         = 3.3
  *            Main regulator output voltage  = Scale2 mode
  *            Flash Latency(WS)              = 3
  * @param  None
  * @retval None
  */

这是static void SystemClock_Config(void) 的功能说明

然后,我按照这个参数在CubeMx上勾选,发现 SYSCLK就已经溢出了,超过了100M;
然后,我仿真去查看  RCC->PLLCFGR寄存器的值,也是符合 上面的参数的;
还在研究中,希望有经验的能解答下
1.jpg
收藏 1 评论9 发布时间:2017-3-17 14:20

举报

9个回答
任风吹吹 回答时间:2017-3-17 16:09:13
内部HSI是16M,F4Cube库内的示例代码应该是用的外部8M HSE,这明显不一样,再者,虽然NUCLEO板上MCU默认没有焊接外部晶振,但是可以旁路ST-Link模块的8M晶振,使用By-Pass的HSE就可以了。

评分

参与人数 1ST金币 +5 收起 理由
MrJiu + 5 赞一个!

查看全部评分

回答时间:2017-3-17 15:01:37
在HCLK里面输入要配置的频率,然后回车,就自动配置完成了。
xueshawu1 回答时间:2017-3-17 15:03:22
安 发表于 2017-3-17 15:01
在HCLK里面输入要配置的频率,然后回车,就自动配置完成了。

其实我是想弄明白,为什么我按照demo的参数这么分配会溢出
xueshawu1 回答时间:2017-3-17 15:04:24
安 发表于 2017-3-17 15:01
在HCLK里面输入要配置的频率,然后回车,就自动配置完成了。

  ******************************************************************************
  * @file    Demonstrations/Src/main.c
  * @author  MCD Application Team
  * @version V1.0.1
  * @date    17-February-2017
  * @brief   This demo describes how display bmp images from SD card on LCD using
             the Adafruit 1.8" TFT shield with Joystick and microSD mounted on top
             of the STM32 Nucleo board.
  ******************************************************************************
最新的F4的软件包,没搞明白而已
回答时间:2017-3-17 15:33:10
楼主,你的配置是外置的8MHSE,而现在用的是16M的HSI。所以这里差了一倍。
xueshawu1 回答时间:2017-3-17 16:12:53
安 发表于 2017-3-17 15:33
楼主,你的配置是外置的8MHSE,而现在用的是16M的HSI。所以这里差了一倍。

你看错了吧,demo里面是用HSI,
我这里也是用的HSI
而且在使用HSE之前,先要使能pin才行啊,我这里HSE都是灰色的
1.jpg

xueshawu1 回答时间:2017-3-17 16:20:07
任风吹吹 发表于 2017-3-17 16:09
内部HSI是16M,F4Cube库内的示例代码应该是用的外部8M HSE,这明显不一样,再者,虽然NUCLEO板上MCU默认没 ...

你说的有道理,是我先看了注释先入为主了,没有认真看代码

/**
  * @brief  System Clock Configuration
  *         The system Clock is configured as follow :
  *            System Clock source            = PLL (HSI)
  *            SYSCLK(Hz)                     = 100000000
  *            HCLK(Hz)                       = 100000000
  *            AHB Prescaler                  = 1
  *            APB1 Prescaler                 = 2
  *            APB2 Prescaler                 = 1
  *            HSE Frequency(Hz)              = 8000000
  *            PLL_M                          = 8
  *            PLL_N                          = 400
  *            PLL_P                          = 4
  *            PLL_Q                          = 7
  *            VDD(V)                         = 3.3
  *            Main regulator output voltage  = Scale2 mode
  *            Flash Latency(WS)              = 3
  * @param  None
  * @retval None


  /* Enable HSI Oscillator and activate PLL with HSI as source */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 8;
  RCC_OscInitStruct.PLL.PLLN = 400;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
  RCC_OscInitStruct.PLL.PLLQ = 7;
  if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)


确实是我一根筋,

评分

参与人数 2ST金币 +7 收起 理由
zero99 + 2 结贴奖励
MrJiu + 5 赞一个!

查看全部评分

samhong 回答时间:2017-3-17 21:56:24
签到签到,晚上好!休息一会。
风的记忆_by依然 回答时间:2017-11-24 11:20:46
任风吹吹 发表于 2017-3-17 16:09
内部HSI是16M,F4Cube库内的示例代码应该是用的外部8M HSE,这明显不一样,再者,虽然NUCLEO板上MCU默认没 ...

@brief  System Clock Configuration
  *         The system Clock is configured as follow :
  *            System Clock source            = PLL (HSE)
  *            SYSCLK(Hz)                     = 216000000
  *            HCLK(Hz)                       = 216000000
  *            AHB Prescaler                  = 1
  *            APB1 Prescaler                 = 4
  *            APB2 Prescaler                 = 2
  *            HSE Frequency(Hz)              = 8000000
  *            PLL_M                          = 8
  *            PLL_N                          = 432
  *            PLL_P                          = 2
  *            PLL_Q                          = 9
  *            PLL_R                          = 7
  *            VDD(V)                         = 3.3
  *            Main regulator output voltage  = Scale1 mode
  *            Flash Latency(WS)              = 7
  * @param  None
  * @retval None
我这个例程是用的外部晶振,但是我并没有给开发板接任何外部晶振,看你的回答是可以旁路ST-Link模块的8M晶振,请教您,这个具体在cubeMX里怎么设置呢?

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版