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

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

[复制链接]
STMCU小助手 发布时间:2021-11-20 23:00
一、system_stm32f0xx.c 系统时钟设置文件,目录:
3 d+ h3 ?. ^' w/ S6 `( K" mLibraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c
5 H8 W/ I1 W5 o4 O, ?2 R# O+ s8 J1. 声明了系统时钟全局变量
9 o2 J0 z4 u& k' x2 I' a, duint32_t SystemCoreClock = 48000000;6 m/ z& D3 m; r( h9 W2 g2 q
2. SystemInit() ——系统初始化函数:初始化内部的Flash接口,PLL,并在最后调用SetSysClock()设置系统时钟为给予HSE的PLL。
7 s9 M7 G: |% J% X8 Y* P9 L3. SystemCoreClockUpdate() —— 系统时钟更新函数,根据寄存器RCC->CFGR & RCC_CFGR_SWS的值,判断当前使用的系统时钟(HSI/HSE/PLL),更新系统时钟全局变量SystemCoreClock
7 S' r( e$ R5 k2 ~$ Z  D6 c4. SetSysClock() —— 设置系统时钟的频率(启用外部HSE,然后启用PLL),如果HSE未起振,不初始化PLL,用系统默认时钟。(可以自己增加代码,比如用HSI作为PLL的时钟源实现倍频)
0 g9 A8 r; m, s9 q/ D& L2 w1 B2 J7 M: I. t
二、starup_stm32f0xx.s 启动程序文件2 u& j$ z+ D9 C1 K2 Q: y( ]
1. 定义了中断向量表:__vector_table5 \2 \( K6 n" D. \' l
2. Reset_Handler:复位后,直接先调用SystemInit(),然后再执行__iar_program_start跳转
7 s( a' h5 c; G8 i: ]) Z3. 定义了其他中断执行的服务函数,具体的函数实现在stm32f0xx_it.c中,需自己添加内容
! n. ^: [4 N$ ]  D: z. p  V
% E7 o7 _7 ~6 A; _4 J: K9 w1 H2.stm32f0xx_it.c 系统中断子函数文件;! @7 N: L- [  ^
5 v0 x- M' V2 ~* S& s5 p5 M
3.system_stm32f0xx.c 系统时钟设置文件;$ k& {  U& q; H" ~$ ~, I$ y8 C  A

: P" V, Z7 z4 `! i8 _( |4.systick.c 系统滴答子函数文件.9 H' I4 Y  T5 M" _" ]4 ^/ t. R

1 E# V4 l8 z: g: @$ B7 t! j% B1 H! G$ x; |( U
收藏 评论0 发布时间:2021-11-20 23:00

举报

0个回答

所属标签

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