STM32F103和STM32F107区别

【主要区别】
两者使用相同的stm32f10xxx reference manual,只是F107属于互联型设备,比F103多了OTG USB和Ethernet模块。

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

对应代码见V3.5.0版本固件库文件stm32f10x.h中Line115:
在这里插入图片描述
原因:
F103,外接8M,直接9倍频,得到72M时钟。参考手册上对应时钟树图:
在这里插入图片描述
F107因为具有USB OTG功能,因此需要特别时钟。一般采用25M外部晶振,方便提供USB或以太网相关时钟频率,最终系统时钟为72M。参考手册上对应时钟树图:
在这里插入图片描述
参考:https://blog.csdn.net/qq_26602023/article/details/47261167

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

【总结】
所以程序在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中断有关。
  • 相应驱动文件的管脚绑定,要做对应改变。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只嵌入式爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值