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

【经验分享】STM32L0xxHal库SystemClock_Config函数

[复制链接]
STMCU小助手 发布时间:2021-11-19 22:00
STM32L051c8t6 使用内部HSI时钟初始化。8 ]* u8 J9 A! R- N8 u5 l3 j
" S" w- a1 d: W. f: N0 Y! B" i
RCC_ClkInitTypeDef RCC_ClkInitStruct;   //结构体初始化
1 F, m2 r) C8 W6 J- `/ x
3 ]2 o! H- k' j2 d7 \! m: RRCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化. s: V$ z  l, [, s. K# g
- [, c; h) X3 x$ T5 P* b; z
__HAL_RCC_PWR_CLK_ENABLE();  //使能电源控制时钟   
* `4 H7 |0 k* \' z
( r+ @* a7 E' L1 V7 r8 U__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1
6 c9 z& z! \5 o! A; \/ P9 k. u! _) F4 {/ D8 \/ s9 G% s( V+ R
这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡$ S5 Q% X  `: W. I. v2 n
, k2 s- B0 ]1 G: R5 G, [
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟; U; e: e/ g/ A4 E

: k5 L' ?- t! B% o0 D; |                                                               //RCC_OSCILLATORTYPE_HSE   高速外部时钟
) Q3 `$ R" d  U9 N3 ^4 P
! L) T4 J2 n5 b) O1 JRCC_OscInitStruct.HSEState = RCC_HSE_OFF;  //关闭HES
' D9 t; E, |3 |9 R! H' ~# p6 H& o- U) t0 C& k9 q
RCC_OscInitStruct.HSIState = RCC_HSI_ON;    //打开HSI1 ]3 j3 f# d; @3 v$ T2 V: l
: ?& m0 `3 l" G
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL- D1 L0 y# ~) o: i' M1 n

& U3 o( D3 o! l* sRCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI5 B! [" R! e# b

$ s8 d+ f/ T! W% _; t0 hRCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数
: ]1 M1 `4 S* n' ?8 q+ m
+ b; }: K+ u* t4 e" ZRCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数/ ^5 p3 o: E, R' B5 s" G
* {! p4 Z$ b( Y; Z. S
RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值8 G; V/ b# i+ Y1 s$ q! Y
) o1 K' X' u$ ?
HAL_RCC_OscConfig(&RCC_OscInitStruct);  //初始化
6 W: R, X1 s  X, `9 q3 \- ]' ^
/ I; i! r$ `+ `( u, ZRCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);    //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK2
6 k% |. a& }. x$ R6 [7 a$ V
% G: t& K$ H3 X/ p2 v% L: t  B* ERCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源
- {' o* @9 B1 R! d
' \$ }  W# v7 A2 eRCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为1
: Z# R& O* W3 H5 F
* Y! Q  [% |, Y' H: [RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;  //APB1分频系数为1
( s; |& c" b1 i0 [6 o: L) n
, |  L+ {; d- ?* PRCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;  //APB2分频系数为1
) E- L/ Y- V( u2 {+ B: R9 \1 U; ~% c
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为1
: m7 h) H' P" y& H
5 y! C; R" S$ _) @
& e- F1 v# H" D* F, _$ A! Y
Q[L([3QABDFH1GIDSGE(6TV.png
收藏 评论0 发布时间:2021-11-19 22:00

举报

0个回答

所属标签

相似分享

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