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

【经验分享】STM32L0xxHal库SystemClock_Config函数

[复制链接]
STMCU小助手 发布时间:2021-11-19 22:00
STM32L051c8t6 使用内部HSI时钟初始化。
5 }$ y0 Y- P, b
8 z; c; _# a+ P" F8 HRCC_ClkInitTypeDef RCC_ClkInitStruct;   //结构体初始化
* n9 `! a8 C" r  P
9 |: {3 u" f# k% N6 G$ }7 \: u- `- cRCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化
2 c  Z. d: V7 J0 m' C" J; X
' f# o; U+ h# B& L  \( T__HAL_RCC_PWR_CLK_ENABLE();  //使能电源控制时钟   
" r3 Z: t& w+ Z, i# [  z6 c9 T$ p6 N; m8 @2 M  Z: }/ i
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1
; J' W! K3 b. d; S+ H4 S( U3 |/ v- T: B9 Q- U' T
这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡0 g) W# t/ v& k% D6 M
  }0 K( L6 Z. T$ W1 [' v! A4 ~4 c
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟
5 t7 {; S9 d( Y4 ~( y" o* t2 w, w9 N4 V
                                                               //RCC_OSCILLATORTYPE_HSE   高速外部时钟0 p% O- V! A" \" H' B

  ]* [9 A1 ]( X. u9 A* JRCC_OscInitStruct.HSEState = RCC_HSE_OFF;  //关闭HES7 R& v6 H4 t; Z( t. \: Y9 H

) M: U  m( F2 L0 f( p* XRCC_OscInitStruct.HSIState = RCC_HSI_ON;    //打开HSI9 s. H: u7 J4 w; J3 i
1 h7 g8 c0 e4 a8 F  x
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL3 y/ y& Y& @  l  `: D, z$ d# q
- l6 J1 c  ~' h3 k' v
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI
1 e9 b$ P* M$ `/ o$ D- n7 M6 l
# `6 j3 n* [  c4 bRCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数% v1 \6 g9 R! Z* ?- Y4 o
' `9 O5 @; c) I5 j' f
RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数
" a: }2 e4 |$ C5 v! U) E3 r2 \" \, Q
RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值1 p( ]& q  Y! n- k( I/ v

: U  m4 U/ S& K" C* ]HAL_RCC_OscConfig(&RCC_OscInitStruct);  //初始化
' D- q/ S! y0 {8 Q' |
8 J' r& ?' K4 ]. W3 S. kRCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);    //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK24 I- a$ \0 b: Z% @

7 P4 v% R2 {5 T8 U7 q% x, F( KRCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源6 ?  @8 b* X/ x  ~
7 m6 s2 C  O/ N8 ~8 Y; M
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为1
9 ~0 O% F- i' ^( ]; ]; Q6 |+ b- K  J! m0 D- @+ l6 h, e9 N
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;  //APB1分频系数为1
; x( V" w$ g/ x5 b0 D" z2 f* Z1 }+ _
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;  //APB2分频系数为1- I0 o4 X% Y- `, }" [  I4 {
; n4 F$ U7 q4 h/ ~. P
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为1
/ V0 e2 Z8 d* q# o0 E+ ^" Q) ]* Y
. j7 |, A8 ?+ z$ t1 {0 G
Q[L([3QABDFH1GIDSGE(6TV.png
收藏 评论0 发布时间:2021-11-19 22:00

举报

0个回答

所属标签

相似分享

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