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

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

[复制链接]
STMCU小助手 发布时间:2021-11-20 23:00
一、system_stm32f0xx.c 系统时钟设置文件,目录:
6 P4 _/ d' N; q* w  `- FLibraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c
( D8 G* i- A- A0 S! F1. 声明了系统时钟全局变量
4 {) ]9 p; U* d5 H/ v- J, y& ^( \uint32_t SystemCoreClock = 48000000;
2 b4 x8 L5 o+ s+ U2. SystemInit() ——系统初始化函数:初始化内部的Flash接口,PLL,并在最后调用SetSysClock()设置系统时钟为给予HSE的PLL。# B0 ^/ J+ J  ]: `
3. SystemCoreClockUpdate() —— 系统时钟更新函数,根据寄存器RCC->CFGR & RCC_CFGR_SWS的值,判断当前使用的系统时钟(HSI/HSE/PLL),更新系统时钟全局变量SystemCoreClock
0 D7 G# Q9 O/ |) W8 Z  b) ~0 S0 f4. SetSysClock() —— 设置系统时钟的频率(启用外部HSE,然后启用PLL),如果HSE未起振,不初始化PLL,用系统默认时钟。(可以自己增加代码,比如用HSI作为PLL的时钟源实现倍频)
1 G! W. c, i' P. a0 y9 t/ S1 a# `1 S1 n, ^7 e, D+ H6 u, G! ]/ }4 @/ K2 A8 [
二、starup_stm32f0xx.s 启动程序文件
' L7 H' h( D7 [, d9 G$ p1. 定义了中断向量表:__vector_table  Z- `( v6 S3 q! I
2. Reset_Handler:复位后,直接先调用SystemInit(),然后再执行__iar_program_start跳转  a  M" U. `# {5 k" }" U
3. 定义了其他中断执行的服务函数,具体的函数实现在stm32f0xx_it.c中,需自己添加内容  T5 Q6 P; f) i( Z5 ?' a9 G
9 L% L/ ?0 B* J1 K7 y% T
2.stm32f0xx_it.c 系统中断子函数文件;
( n) h0 ^, {& x& h( P' Z3 R3 z' j; x/ E6 D
3.system_stm32f0xx.c 系统时钟设置文件;/ [5 m  t. X3 H: `

( a! a5 C* i8 z+ t' ]% C4.systick.c 系统滴答子函数文件., ?# M/ B( S0 P: g" i6 }( v4 W
0 L+ d8 U9 A0 w" Q0 l& e! L

: a. ?0 k8 D3 E3 j7 {
收藏 评论0 发布时间:2021-11-20 23:00

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版