OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2725|回复: 0

stm32f103和107区别

[复制链接]

10

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2019-1-16
在线时间
24 小时
发表于 2019-3-28 17:45:40 | 显示全部楼层 |阅读模式
本帖最后由 约翰一世 于 2019-3-28 17:48 编辑

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

【晶振区别】
l  通常电路板上,stm32f103采用8MHz外部晶振,stm32f107(互联型,STM32F10_CL)采用25MHz外部晶振(这时候默认时钟不用修改)。
对应代码见V3.5.0版本固件库文件stm32f10x.h中Line115:
1.png


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


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

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

中断.png
中断响应函数.png
中断响应函数2.png


【总结】
所以程序在F103和F107间移植时只用改变:
1. Options->Device,名称更改。
2. Options->C/C++->Define,预编译头文件更改,F103对应STM32F10X_HD(大容量),F107对应STM32F10X_CL。
3. Options->Debug->Settings->Flash Download->Programming Algorithm,F107对应STM32F10x Connectivity Line Flash。
4. 注意各个时钟频率,一个外部8M,一个外部25M,设定值影响时钟树。

5. 替换程序启动文件。F103对应startup_stm32f10x_hd.s(大容量),F107对应startup_stm32f10x_cl.s,仅和OTG、Ethernet中断有关。
6. 相应驱动文件的管脚绑定,要做对应改变。



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 22:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表