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

【经验分享】STM32F0xx部分库文件说明

[复制链接]
STMCU小助手 发布时间:2021-11-20 23:00
一、system_stm32f0xx.c 系统时钟设置文件,目录:/ z8 t2 K; ^+ F4 I
Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c
! U7 e. R  O/ G) `1. 声明了系统时钟全局变量
9 t, U0 b1 l! `9 `* x3 P$ Muint32_t SystemCoreClock = 48000000;' ~9 a% c$ O3 a0 ^7 Q
2. SystemInit() ——系统初始化函数:初始化内部的Flash接口,PLL,并在最后调用SetSysClock()设置系统时钟为给予HSE的PLL。
# |2 Y! g1 u  ~6 p1 z3. SystemCoreClockUpdate() —— 系统时钟更新函数,根据寄存器RCC->CFGR & RCC_CFGR_SWS的值,判断当前使用的系统时钟(HSI/HSE/PLL),更新系统时钟全局变量SystemCoreClock, w* @7 ~9 E8 `/ t3 e
4. SetSysClock() —— 设置系统时钟的频率(启用外部HSE,然后启用PLL),如果HSE未起振,不初始化PLL,用系统默认时钟。(可以自己增加代码,比如用HSI作为PLL的时钟源实现倍频)
/ y  r* ~! s3 C) i8 y2 h" o9 y8 p/ D" z' O. c# q& r6 w
二、starup_stm32f0xx.s 启动程序文件
" U% O( N1 t( Z+ X1. 定义了中断向量表:__vector_table
; L2 @# h6 k5 F  c2. Reset_Handler:复位后,直接先调用SystemInit(),然后再执行__iar_program_start跳转7 P! A" B+ S) }1 A
3. 定义了其他中断执行的服务函数,具体的函数实现在stm32f0xx_it.c中,需自己添加内容
% Y! r7 v6 I9 ]7 D2 v2 N' v
2 h' f. q) ^* n! w4 X2.stm32f0xx_it.c 系统中断子函数文件;. y; N  S1 ]6 `1 z/ Z% C$ h8 @

, t& p8 p" T& n5 l. o  |3.system_stm32f0xx.c 系统时钟设置文件;
" B- w6 X  z; @( `5 {. ~) Z& x
8 A, {4 u: g; T- q# Q/ |5 F. Z4.systick.c 系统滴答子函数文件.
8 Z9 ~+ g  j0 z2 L& B! E  o5 W4 c) g0 a" n' d6 W
7 ?% j) ~, g& N- P
赞 收藏 评论0 发布时间:2021-11-20 23:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版