STM32F103和STM32F107区别_stm32f107和103区别_一只嵌入式爱好者的博客-程序员秘密

技术标签: stm32  嵌入式硬件  

【主要区别】
两者使用相同的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中断有关。
  • 相应驱动文件的管脚绑定,要做对应改变。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45905650/article/details/108344496

智能推荐

作为一名程序员,需要会多少门技术?_想要做一个程序得学会多少_带着蓝忘机回家的博客-程序员秘密

想要成为一名程序员,光是会敲键盘可是不够的,你还需要会“物理”、“化学”、“生物”、“文学”……等等方面的知识,也就是说你要先从“高中”毕业,然后上“大学”后,选择一门自己喜欢的专业去学习。零·高中阶段那么,在“高中”阶段,我们都需要学会什么呢?"物理"指的是基础,物理是了解这个世界的基础,而计算机世界的基础则是它的算法和数据结构,计算机世界的基础定律是程序问题的终极答案;“化学”则是各类系统和语言的关键性质,提供能写出优秀程序的原料;你要了解不同语言和系统之间能碰撞出什么样的“化学反应”;“生

mqtt协议-broker之moqutte源码研究五之UNSUBSCRIBE与DISCONN报文处理_Joe?的博客-程序员秘密

本文讲解moquette对UNSUBSCRIBE和DISCONNECT的处理先说UNSUBSCRIBE,代码比较简单 public void processUnsubscribe(Channel channel, MqttUnsubscribeMessage msg) { List<String> topics = msg.payload().topics(); ...

pyQt 样式表在ui文件的设置_pyqt 改变样式表_Martin1025432的博客-程序员秘密

应用背景:以python为程序运行基础,直接调用QT的ui文件形成界面。要实现的功能:同样的功能在python里面用程序是可以实现的,但在设计时不能直接观察。如何用QT设计界面的样式表,就可以很方便实现这个功能了。详细操作:1、右键要修改的控件-->改变样式表2、编辑样式表3、在空框填入详细属性和参数(每个控件拥有的属性是不一样的)属性1:参数...

搭建CDH大数据平台(CentOS7+CDH5.7)_weixin_30416497的博客-程序员秘密

集群环境:集群架构:3台node1-192.168.174.201master datanode namenodenode2-192.168.174.202datanodenode3-192.168.174.203datanode安装包准备:cloudera-manager-centos7-cm5.7.0_x86_64.tar.gzmysql-connec...

粒子群优化算法实现寻找函数最值_优化算法 寻找函数极值处的参数组合_springtostring的博客-程序员秘密

粒子群算法简介粒子群优化(Particle Swarm Optimization, PSO),又称微粒群算法,是由J. Kennedy和R. C. Eberhart等于1995年开发的一种演化计算技术,来源于对一个简化社会模型的模拟。其中“群”来源于微粒群匹配M. M. Millonas在开发应用于人工生命的模型时所提出的群体智能的5个基本原则。“粒子(particle)”是一个折衷的选择,因...

随便推点

some code about intent_micoder1的博客-程序员秘密

package cn.micoder.myintenttest;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;//

CMOS Sensor的调试经验分享_无名白丁的博客-程序员秘密

CMOS Sensor的调试经验分享     我这里要介绍的就是CMOS摄像头的一些调试经验。  首先,要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头、感应器和图像信号处理器构成。一般情况下,集成好的模组我们只看到外面的镜头、接口和封装壳,这种一般是固定焦距的。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小的镜头,如果没有夜视要求的话,最好选择...

CUDA安装配置使用_mealy_moore的博客-程序员秘密

CUDA安装自定义安装,选择安装套件:Decelopment、Sample、Documentation添加环境变量:CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0(这是默认安装位置的路径)CUDA_LIB_PATH = %CUDA_PATH%\lib\x64CUDA_BIN_PATH = %CUD...

Windows7 SP1 MSDN官方原版多国语言中文包附激活key_weixin_34235105的博客-程序员秘密

  Windows7 是目前最主流的操作系统了,根据惯例,微软一般在发布了操作系统一段较长的时间后,就会将此时间段内的全部的大量的系统更新补丁制作成一个大型的升级包,叫做 ServicePack,简称SP。而 Win7 SP1 (第一个SP升级包) 也终于发布了。   发布时间表:   1.北京时间2月17日凌晨1点发布 Windows 7 SP1独立安装包....

解决python2.7 运行报 UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 0: illega_可爱的小豆芽儿的博客-程序员秘密

运行环境:win7运行场景:cmdpython版本:2.7产生问题的原因:如果在window下运行对于Unicode字符,需要print出来的话,由于本地系统是Windows中的cmd,默认codepage是CP936,即GBK的编码,所以python解释器需要先将上述的Unicode字符编码为GBK,然后再在cmd中显示出来。但是由于该Unicode字符串中包含一些GBK中无法显示...

推荐文章

热门文章

相关标签