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

如何区别STM32F103和STM32F107

[复制链接]
攻城狮Melo 发布时间:2023-3-17 17:20
【主要区别】
两者使用相同的stm32f10xxx reference manual,只是F107属于互联型设备,比F103多了OTG USB和Ethernet模块。

【晶振区别】

通常电路板上,stm32f103采用8MHz外部晶振,stm32f107(互联型,STM32F10_CL)采用25MHz外部晶振(这时候默认时钟不用修改)。

对应代码见V3.5.0版本固件库文件stm32f10x.h中Line115:

20200901160445766.png

原因:
F103,外接8M,直接9倍频,得到72M时钟。参考手册上对应时钟树图:

20200901160506933.png

F107因为具有USB OTG功能,因此需要特别时钟。一般采用25M外部晶振,方便提供USB或以太网相关时钟频率,最终系统时钟为72M。参考手册上对应时钟树图:

20200901160534833.png

【启动文件区别】
查看F103对应的startup_stm32f10x_hd.s文件和F107对应的startup_stm32f10x_cl.s文件。Diffuse对比一下,发现只有OTG USB模块和Ethernet模块相关的中断及响应函数区别,再没有其它不同:

20200901160635210.png

【总结】
所以程序在F103和F107间移植时只用改变:
Options->Device,名称更改。
Options->C/C+±>Define,预编译头文件更改,F103对应STM32F10X_HD(大容量),F107对应STM32F10X_CL。
Options->Debug->Settings->Flash Download->Programming Algorithm,F107对应STM32F10x Connectivity Line Flash。
注意各个时钟频率,一个外部8M,一个外部25M,设定值影响时钟树。
替换程序启动文件。F103对应startup_stm32f10x_hd.s(大容量),F107对应startup_stm32f10x_cl.s,仅和OTG、Ethernet中断有关。
相应驱动文件的管脚绑定,要做对应改变。
————————————————
版权声明:一只嵌入式爱好者
如有侵权请联系删除


收藏 评论0 发布时间:2023-3-17 17:20

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版