OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8502|回复: 4

附时钟树一张,有几个疑惑的地方

[复制链接]

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
发表于 2014-8-15 17:47:03 | 显示全部楼层 |阅读模式
5金钱



程序配置的是 HSI 16RC,也就是说16MHZ的内部高速时钟,
大家看看下面这几句配置,把频率配置到了多少?

void SystemClock_Config(void)
{
  RCC_ClkInitTypeDef   RCC_ClkInitStruct;
  RCC_OscInitTypeDef   RCC_OscInitStruct;

  /* Enable HSI Oscillator and activate PLL with HSI as source */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;//选择HSI作为时钟源
  RCC_OscInitStruct.HSEState = RCC_HSE_OFF;//外部时钟 关
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;//内部高速时钟打开
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;//PLL时钟开
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//HSI作为PLL的时钟输入
  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_4;
  RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_2;
  RCC_OscInitStruct.HSICalibrationValue = 0x10;???????????????????????????????????????????

  HAL_RCC_OscConfig(&RCC_OscInitStruct); 
  /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 
     clocks dividers */
  RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;  
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;  
  
    HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);?????????????????????????????????????????

}

  * @brief  System Clock Configuration
  *         The system Clock is configured as follow : 
  *            System Clock source            = PLL (HSI)
  *            SYSCLK(Hz)                     = ??????????????????????????????
  *            HCLK(Hz)                         = ??????????????????????????????
  *            AHB Prescaler                   = ??????????????????????????????
  *            APB1 Prescaler                 = ??????????????????????????????
  *            APB2 Prescaler                 =??????????????????????????????
  *            HSI Frequency(Hz)           = 16000000
  *            LL_MUL                          = 4
  *            LL_DIV                           = 2

最佳答案

查看完整内容[请看2#楼]

HSI=16MHz;  LL输入=HSI=16MHZ 分频倍频后:  LL=16X4/2=32MHZ 所以系统时钟SYSCLK=32MHz HCLK=32MHz
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2014-8-15 17:47:04 | 显示全部楼层
HSI=16MHz;
 LL输入=HSI=16MHZ
分频倍频后:
 LL=16X4/2=32MHZ

所以系统时钟SYSCLK=32MHz
HCLK=32MHz
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2014-8-15 17:47:46 | 显示全部楼层
坐等大侠指教
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2014-8-16 08:34:58 | 显示全部楼层
站长威武,小弟明白了好多
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2014-8-16 08:53:46 | 显示全部楼层
回复【3楼】Admin:
---------------------------------
小弟再多问几句,
1.      RCC_OscInitStruct.HSICalibrationValue = 0x10;   //这个参数,是随便写的么,看官方解释说好像是校准RC用的????

 2.     HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//这个FLASH_LATENCY_1是干嘛用的,站长大人???
官方给了个解释,只能看懂字面的意思,但是我理解不了含义是什么么

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-3 17:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表