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

【经验分享】stm32L0 (一)系统时钟配置

[复制链接]
STMCU小助手 发布时间:2021-11-15 21:01
MCU为stm32l0系列,时钟配置如下:

20190806093803594.png


20190806093910148.png


  1. //时钟系统配置函数
  2. //SYSCLK=Fs*PLLMUL/PLLDIV;
  3. //
  4. //Fusb=Fvco/pllq=Fs*(plln/(pllm*pllq));
  5. //SYSCLK =
  6. //Fs 8M
  7. //Fvco: 8M
  8. //SYSCLK: 系统时钟频率 8*8/2=32
  9. //PLLMUL:倍频 8
  10. //PLLDIV:分频系数 2

  11. void SystemClockConfig( void )
  12. {
  13.     RCC_OscInitTypeDef RCC_OscInitStruct;
  14.     RCC_ClkInitTypeDef RCC_ClkInitStruct;

  15.     __HAL_RCC_GPIOH_CLK_ENABLE();
  16.     __HAL_RCC_PWR_CLK_ENABLE( );

  17.     __HAL_PWR_VOLTAGESCALING_CONFIG( PWR_REGULATOR_VOLTAGE_SCALE1 );   

  18.     RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;    //高速外部时钟 8M
  19.     RCC_OscInitStruct.HSEState = RCC_HSE_ON;            //打开HSE
  20.     RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;        //打开PLL
  21.     RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;    //设置PLL时钟源
  22.     RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL8;            //8倍频
  23.     RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;            //PLL VCO输入时钟的分频系数
  24.     if( HAL_RCC_OscConfig( &RCC_OscInitStruct ) != HAL_OK )
  25.     {
  26.         assert_param( FAIL );
  27.     }

  28.     RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK |
  29.                                   RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;

  30.     RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;        //设置系统时钟源
  31.     RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;                //AHB分频系数为1 32
  32.     RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8;                //APB1分频系数为8 4
  33.     RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;                //APB2分频系数为1 32
  34.     if( HAL_RCC_ClockConfig( &RCC_ClkInitStruct, FLASH_LATENCY_1 ) != HAL_OK )
  35.     {
  36.         assert_param( FAIL );
  37.     }

  38.     HAL_SYSTICK_Config( HAL_RCC_GetHCLKFreq( ) / 1000 );
  39.     HAL_SYSTICK_CLKSourceConfig( SYSTICK_CLKSOURCE_HCLK );
  40.     HAL_NVIC_SetPriority( SysTick_IRQn, 1, 0 );
  41.     HAL_NVIC_EnableIRQ(SysTick_IRQn);
  42. }
复制代码



收藏 评论0 发布时间:2021-11-15 21:01

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版