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

【经验分享】STM32L0xxHal库SystemClock_Config函数

[复制链接]
STMCU小助手 发布时间:2021-11-19 22:00
STM32L051c8t6 使用内部HSI时钟初始化。
" ~' f3 D, {" V1 x/ g+ G- [0 E
0 ~" l9 J' R5 o8 \9 H+ [) CRCC_ClkInitTypeDef RCC_ClkInitStruct;   //结构体初始化6 U9 E6 Y! \' U* A  K
9 A/ J* C  L& A' g1 Q- r+ p
RCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化
; q* P- e3 n, u, b% e8 }$ H- k' y# r+ }7 y( D$ N2 F- a
__HAL_RCC_PWR_CLK_ENABLE();  //使能电源控制时钟   
( l% v3 m1 U" s6 T/ V" Z# Y% G
/ V8 c* {2 g% h  g__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1
/ E9 K/ o3 Q) z
2 D1 L3 \& d% C! w4 z9 J这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡: N, a6 g% x3 e2 b: L7 p: @% Z

) `/ f6 M; J- a! {0 VRCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟# p/ S9 w& _. E. }) r

0 K# I, t  C7 }( [; J                                                               //RCC_OSCILLATORTYPE_HSE   高速外部时钟) j) O: G, v( d+ ?+ x

. g0 M/ K0 A" j  |1 nRCC_OscInitStruct.HSEState = RCC_HSE_OFF;  //关闭HES; A4 a, S1 N% Q7 q0 N

0 p; o# `" X/ N2 i* gRCC_OscInitStruct.HSIState = RCC_HSI_ON;    //打开HSI( x4 y! t0 _, t. S

$ a, G% ^4 N1 a& D$ g) E" cRCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL) w3 F% n' J& O; x  N2 b

- t9 y; e$ a6 d# W$ M, ]/ K4 i5 ZRCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI3 ?( E' D3 B! h" B0 u/ |

+ i. z# U/ u1 ?8 ^' {, [/ f+ j* h; yRCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数, n1 l# y: }0 R# [9 l) ~* f) d
) S6 v/ R' K9 Y5 x
RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数, J3 }) e2 w5 c) g

7 z: h$ Q8 i) w- D) U( w, _! r* W- {RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值$ [2 P) X2 u5 [

1 H, P4 v" |' u) |0 Z+ lHAL_RCC_OscConfig(&RCC_OscInitStruct);  //初始化) F5 q5 K' l' p, C3 k

. O' X" D5 D* H, Y. G! x# _' NRCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);    //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK2
5 t, T6 a' B+ m0 F; t! T. J+ v% C$ Q9 R0 g/ I* Y
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源2 ^4 N1 T# @3 x2 V+ `6 Z
% R. ~& H; \8 e; v  S5 V, `8 r( a
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为1
% i! v( \6 Z) ^2 r
5 T, S; t" B& V* U3 ]0 i! ZRCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;  //APB1分频系数为12 i( C3 @: |% Q2 _+ y

2 A# V, S3 Q7 X/ }, RRCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;  //APB2分频系数为19 H" F9 U8 o# C9 ~( R$ a0 _4 p

$ Q' p& C' {1 eHAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为1+ h& _3 Q, ]7 E9 z, f6 Z3 X: }

' }/ o! t' }7 p# u1 ^# c# W" M* U8 ~
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 手机版