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

【经验分享】STM32L0xxHal库SystemClock_Config函数

[复制链接]
STMCU小助手 发布时间:2021-11-19 22:00
STM32L051c8t6 使用内部HSI时钟初始化。
% U) E8 x4 V8 }/ x) Z( F; F* s+ W$ ~+ G) ]5 R! T8 r
RCC_ClkInitTypeDef RCC_ClkInitStruct;   //结构体初始化
* I/ w# p" r+ e9 }# ^2 V6 m- f2 a$ Q9 r1 D+ F8 o
RCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化8 b& J/ v* K4 `9 A
# E5 O7 j7 s  v
__HAL_RCC_PWR_CLK_ENABLE();  //使能电源控制时钟   : j4 U, r, ~' ?6 t

) [# G! y' v+ ]) b5 w2 `6 @. c__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1
  V& n1 t) f( k6 t8 X; f
: [; I2 n0 p% M这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡
8 a* l. `% n3 _* }! k+ v" n2 y4 z6 e" G# P- ^( V2 U. |3 Z
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟! h/ q, H& ]2 y$ _8 f0 L
* }5 A/ |! d  T7 B( X
                                                               //RCC_OSCILLATORTYPE_HSE   高速外部时钟* G$ `' z$ O  H

6 X0 A! q" g% l0 z; KRCC_OscInitStruct.HSEState = RCC_HSE_OFF;  //关闭HES# c7 Y2 B  X, `7 O2 W1 K

' m8 ^- U: |6 O. b5 k: uRCC_OscInitStruct.HSIState = RCC_HSI_ON;    //打开HSI0 W, w( K# m. v! r0 O
3 j$ L. h3 j& {3 Q" e
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL
4 }7 Q& d) x% ]
+ F+ v' m; y8 C# J9 M- LRCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI
+ |: E; O: e- z7 n/ ?: g/ y7 h5 G# S& y1 P
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数/ I: c7 r3 \3 Y4 z
, s# h- w% t5 r% m: p: Q
RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数
: k, t% @- B! U5 p: G, Y5 C% r3 N; }) h- O, d3 J$ h4 L
RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值
" a1 {3 z7 |. B7 j5 f
4 @' x4 F1 i2 u4 r+ X  H- z  t& \HAL_RCC_OscConfig(&RCC_OscInitStruct);  //初始化, V3 A% I$ f8 M6 f. R
# g( ~( w* U& U% K/ j6 c
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);    //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK2
  z$ a2 `1 Y% T8 v/ ?& H) L  M6 {, g9 `% i! a7 {$ C
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源
5 u5 T, U/ S& N$ t3 j) w1 n* n
7 E1 l( _) ?! E4 |/ y4 ERCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为11 S3 p  T: M" r4 N: X% H
6 g8 H" x5 I4 b
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;  //APB1分频系数为1" _4 [6 M3 ]/ V% I) F% w) X, i$ S1 b
& A& _2 Y$ f+ Y  k: ~
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;  //APB2分频系数为1/ t' x5 H$ w) w% b  a4 G
" p5 w4 ]. H% `2 R& [
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为1
+ [4 W( {$ R( a* B9 Q: o0 R$ N
" I9 ?" _/ C, X$ w3 H
4 h# _2 M6 k4 D; J
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 手机版