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

【经验分享】STM32L0xxHal库SystemClock_Config函数

[复制链接]
STMCU小助手 发布时间:2021-11-19 22:00
STM32L051c8t6 使用内部HSI时钟初始化。8 J) b. x! G! {" H  G* _
& q# Z3 I/ ?7 x: m# ~* }% z# M
RCC_ClkInitTypeDef RCC_ClkInitStruct;   //结构体初始化) w+ S% P: S: A4 J! H- S

' z: r0 \* Q7 I* K8 J, D* uRCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化# w3 G# `( S2 m* G, K; U% X
: D4 q9 X" T. {5 L* l* I
__HAL_RCC_PWR_CLK_ENABLE();  //使能电源控制时钟   $ @$ |$ _( {% p6 _  C
* e2 R9 H. [+ J0 j
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1
0 |* }$ ~3 S# Y$ O2 ], z% {/ o
2 J: ^+ i* }* X/ {. r( r. r; J这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡
+ m; H9 Z% x: ^, B
# c* {' T, m/ {5 n! o, B0 f$ ?RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟
0 Z% Q2 ]% \7 S1 h. L6 z4 t$ n% G) o6 I& K2 v  y( [2 _
                                                               //RCC_OSCILLATORTYPE_HSE   高速外部时钟
, M$ a2 e9 o. A- x- [
! V8 A6 v" T$ V$ V7 vRCC_OscInitStruct.HSEState = RCC_HSE_OFF;  //关闭HES+ q# G& q' c1 O
8 W; y- P. ~5 w7 y) a1 r
RCC_OscInitStruct.HSIState = RCC_HSI_ON;    //打开HSI
3 E6 I# @* Y; k% |$ p$ E* |$ a  u5 j) A, P: ~9 N9 n4 k1 X- c
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL) U8 k- y" \2 }4 g$ z4 h, D

: E( ^0 j( |, Y: xRCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI
: g$ m9 a6 v2 d8 @7 q+ M5 A, n% q1 g" M( U) u; m/ h: X5 `
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数+ t- k' R7 d( D4 o
$ k7 {; Y# h0 K
RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数* D1 |$ o# ~$ k) E" w
# B$ P/ }" Q' T7 [$ p( ?$ _1 R
RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值; _0 J" B0 b9 p) g

0 R) a& N# h/ Z8 b9 THAL_RCC_OscConfig(&RCC_OscInitStruct);  //初始化
. p+ b# w( s  p  ~, y9 X: ]
( S9 m  _1 }; b: Y" u9 i4 dRCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);    //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK2
: t" e; E6 U8 O! L
; k$ M8 F+ D9 D6 K4 r  fRCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源
; e& |9 ~& h5 B6 X- `" w
" E1 Z6 n0 y5 a7 j4 R" r0 gRCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为1
1 X4 a/ j' N- c$ b/ h) s9 _5 Q0 U$ K/ t" C" k8 D  n  g) S2 v0 ~7 V, O
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;  //APB1分频系数为1
& ~3 o! n6 M) c$ I8 d4 h) J9 o9 h) a$ i' F6 x( k7 {
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;  //APB2分频系数为1& f& B% _5 T6 g' i6 J1 U  V) g5 z8 N
6 U; G, p4 l3 ~% l, K
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为1; M6 k6 O  I" I% R
, I5 b8 p4 ]9 p& i" d
  q) w1 o. N" |9 L# L9 T) Z& w- c
Q[L([3QABDFH1GIDSGE(6TV.png
收藏 评论0 发布时间:2021-11-19 22:00

举报

0个回答

所属标签

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