STM32入门教程

我眼中的入门:(前提是你学过51单片机和C语言)

1、知道参考官方的什么资料来学习,而不是陷入一大堆资料中无从下手。

2、知道如何参考官方的手册和官方的代码来独立写自己的程序,而不是一味的看到人家写的代码就觉得人家很牛逼。

3、消除对STM32的恐惧,消除对库开发的恐惧,学习是一个快乐而富有成就感的过程。

第1章一天入门STM32

本章参考资料:《STM32中文参考手册》《CM3权威指南CnR2》

学习本章时,配合《STM32中文参考手册》GPIO章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。

1.151与STM32简介

51是嵌入式学习中一款入门级的精典MCU,因其结构简单,易于教学,且可以通过串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学中用的还是51。51诞生于70年代,属于传统的8位单片机,如今,久经岁月的洗礼,既有其辉煌又有其不足。现在的市场产品竞争激烈,对成本极其敏感,相应地对MCU的要求也更苛刻:功能更多,功耗更低,易用界面和多任务。面对这些要求,51现有的资源就显得得抓襟见肘了。所以无论是高校教学还是市场需求,都急需一款新的MCU来为这个领域注入新的活力。

基于这市场的需求,ARM公司推出了其全新的基于ARMv7架构的32位Cortex-M3微控制器内核。紧随其后,ST(意法半导体)公司就推出了基于Cortex-M3内核的MCU—STM32。STM32凭借其产品线的多样化、极高的性价比、简单易用的库开发方式,迅速在众多Cortex-M3MCU中脱颖而出,成为最闪亮的一颗新星。STM32一上市就迅速占领了中低端MCU市场,受到了市场和工程师的无比青睐,颇有星火燎原之势。

作为一名合格的嵌入式工程师,面对新出现的技术,我们不是充耳不闻,而是要尽快吻合市场的需要,跟上技术的潮流。如今STM32的出现就是一种趋势,一种潮流,我们要做的就是搭上这趟快车,让自己的技术更有竞争力。

1.1.151与STM32架构的区别

我们先普及一个概念,单片机(即MCU)里面有什么。一个人最重要的是大脑,身体的各个部分都在大脑的指挥下工作。MCU跟人体很像,简单来说是由一个最重要的内核加其他外设组成,内核就相当于人的大脑,外设就如人体的各个功能器官。

下面我们来简单介绍下51和STM32的结构。

1.51系统结构

51系统结构框图

图151系统结构框图

我们说的51一般是指51系列的单片机,型号有很多,常见的有STC89C51、

AT89S51,其中国内用的最多的是STC89C51/2,下面我们就以STC89C51来讲解,并以51简称。

内核

51由一个IP核和片上外设组成,IP核就是上图中的CPU,片上外设就是上图中的:时钟电路、SFR和RAM、ROM、定时/计数器、并行I/O口、串行I/O口、中断系统。IP核跟外设之间由系统总线连接,且是8bit的,速度有限。

外设

我们在学习51的时候,关于内核部分接触的比较少,使用的最多的是片上外设,我们在编程的时候操作的也就是这些外设。

编程的时候操作的寄存器位于SFR和RAM这个部分,其中SFR(特殊功能寄存器)占有128字节(实际上只用了26个字节,只有26个寄存器,其他都属于保留区),RAM占有128字节,我们在程序中定义的变量就是放在RAM中。其中SFR和RAM在地址上是重合的,都是在80~FF这个地址区间,但在物理区间上是分开的,所以51的RAM是有256个字节。

编写好的程序是烧写到ROM区。剩下的外设都是我们非常熟悉的IO口,串口、定时器、中断这几个外设。

2.STM32系统结构

STM32系统结构框图

图2STM32系统结构框图

在系统结构上,STM32和51都属于单片机,都是由内核和片上外设组成。只是STM32使用的Cortex-M3内核比51复杂得多,优秀得多,支持的外设也比51多得多,同时总线宽度也上升到32bit,无论速度、功耗、外设都强与51。

从结构框图上看,对比51内核只有一种总线,取指和取数共用。Cortex-M3内部有若干个总线接口,以使CM3能同时取址和访内(访问内存),它们是:

指令存储区总线(两条)、系统总线、私有外设总线。有两条代码存储区总线负责对代码存储区(即FLASH外设)的访问,分别是I-Code总线和D-Code总线。

I-Code用于取指,D-Code用于查表等操作,它们按最佳执行速度进行优化。

系统总线(System)用于访问内存和外设,覆盖的区域包括SRAM,片上外设,片外RAM,片外扩展设备,以及系统级存储区的部分空间。

私有外设总线负责一部分私有外设的访问,主要就是访问调试组件。它们也在系统级存储区。

还有一个MDA总线,从字面上看,DMA是datamemoryaccess的意思,是一种连接内核和外设的桥梁,它可以访问外设、内存,传输不受CPU的控制,并且是双向通信。简而言之,这个家伙就是一个速度很快的且不受老大控制的数据搬运工,这个在51里面是没有的。

从结构框图上看,STM32比51的外设多得多,51有的串口、定时器、IO口等外设STM32都有。STM32还多了很多特色外设:如FSMC、SDIO、SPI、I2C等,这些外设按照速度的不同,分别挂载到AHB、APB2、APB1这三条总线上。

3.小结

从内核和外设这两大方面来比较,STM32之于51就是一个升级版的单片机。它适应市场,引流潮流,在中低端的微控制器中流光溢彩。

1.2学习方法的区别

学习51用寄存器,学习STM32用库。

以前我们在学习51的时候,用的是寄存器编程的方法,想要实现什么效果,直接往寄存器里面赋值,优点是直观,简单粗暴,知道自己具体干了啥,心里踏实。

直接操作寄存器之所以在51上可行,究其原因,我想有两点:

1、51主频不高,资源有限,必须注重程序执行的效率,只能直接操作寄存器。关键的地方还得用汇编,不适合用固件库。

THE END
1.猫之城游戏中的sp技能怎么放放sp技能的方式每次释放或者移动卡牌都会获得一点SP点数,释放三星技能指令可以获得2点SP,当在游戏中SP点数全满后,下回合必定会补进SP技能指令。 然后点击sp技能指令,就可以在本回合释放此技能了。 以上便是猫之城sp技能怎么放的回答,希望能帮助到大家,祝大家游戏愉快!http://m.goldenkoalacn.com/zxjc/14145.html
2.字母圈新手Sp攻略标签:字母圈?SP?Spank?...来自PUPPY...字母圈新手Sp攻略标签:字母圈 SP Spank Sp教程 Tj?最近聊天时接触到了几个新入字母圈的m,遇见的问题很统一,“S不会玩/刚入圈/伪S但人不错怎么办?”为了解决这个问题我写这个教程,不喜勿喷。SP攻略至少70%的M对SP有特殊的爱好,那么用什么打?怎么打?怎么打的久但不会出硬伤?工具很多我就不一一说了,...https://weibo.com/6598033777/OajcKFeBV
3.算法分析入门教程实战篇及应用篇曾经夸下海口,要写一篇关于算法分析入门教程的文章。新春佳节之际,祝各位破友心情愉快,破解顺利,破解技术节节高。顺便在看雪论坛上又浏览了一圈,发现算法分析的文章确实都很好,但似乎没有一位对算法分析进行系统、全面的阐述的,对初学算法分析的人的实战困惑解答很少。倒是发现了一位好同志laomms的好文章自效验,读...https://www.pediy.com/kssd/pediy10/59537.html
4.DSP入门教程(非常经典).docDSP入门教程(非常经典).doc,彳华电俚也开发扳达弁入门教程的选型主要考虑处理速度功耗程序存储器和数据存储器的容昴片内的资源如定时器的数数最中断数量通道数等的主耍供应商仃和等其屮占有最大的市场份额公司现在主推四人系列系列定点低功耗相比英它系列的主要特点是低功耗https://max.book118.com/html/2022/0418/7023022033004113.shtm
5.VS2010之MFC入门到精通教程带图片高清中文完整版VS2010之MFC入门到精通教程[鸡啄米]-书签版,学习MFC界面编程比较好的教程,浅显易懂,配图。 上传者:lhyhr时间:2020-08-20 VS2010_MFC完全版(全五十四章)从入门到精通 VS2010_MFC完全版(全五十四章)从入门到精通(详细介绍常用控件)和MFC深入浅出帮助文档。更有效,更迅速的了解MFC ...https://www.iteye.com/resource/logdakbai-10854481
6.如何使用SP绘制人物面部贴图?SP人物面部贴图入门教程丨sp纹理贴图绘画基础入门教程丨SubstancePainter贴图基础教程丨SubstancePainter皮肤贴图制作教程丨直播课视频教程 5366人共同学习 This is a modal window. 视频因格式不支持或者服务器或网络的问题无法加载。 加入收藏 手机学习 充值学币http://www.huixueba.net/jiaocheng/1717
7.SP教程(5.2GB)百度网盘资源下载1.本站会员获取资源无需消耗金币。 2.获取资源后可以在「个人中心」48 小时内无理由退金币。 3.为防止资源链接失效,请及时转存文件。 资源目录结构 以下文件快照生成于4 年前。(只展示部分的文件和文件夹) :可能存在部分资源被网盘官方屏蔽。 SP教程5.2GB ...https://www.iizhi.cn/resource/detail/e095311d963b65126beb2755e8711881
8.六道之门(月之海)超详细的教程攻略—凤凰火篇六道之门(月之海)超详细的教程攻略—凤凰火篇,推荐印记完整再试 六道之门的凤凰火应该是三个六道之门副本中最难的一个了,打法思路来源于@矩阵博士 大佬的打法。因为需要我们的阵容需要完整的印记https://ds.163.com/feed/633597258d5cee00016e3c59/
1.金牌惩戒师SP实验教程,全面解读与分析在当今社会,惩戒师这一职业逐渐受到人们的关注,金牌惩戒师更是以其专业性和高效率赢得了广泛赞誉,本文将详细解读和分析金牌惩戒师的SP实验教程,帮助读者更好地了解这一职业及其所涉及的技能和知识。 金牌惩戒师SP实验教程,全面...http://m.sbpyq.cn/39537624.html
2.Android中的常用尺寸单位(dpsp)快速入门教程Android下面来详细介绍dp与sp这两种尺寸单位。尺寸单位详解之dpdp的全称是device independent pixels,在具有不同屏幕密度的设备上,1 dp的物理大小是相同的。那么,什么是屏幕密度呢?屏幕密度手机的屏幕密度通常指的是手机屏幕的dpi(dots per inch),也就是每英寸的像素数。对于Android手机来说,常见的dpi有如下几种:...https://www.jb51.net/article/113125.htm
3.入门SP教程资源商城 教程 免费 作品 技术问答 更多 登录 注册 入门SP教程共0篇 Substance Painter 分类 资源教程作品 子分类 入门教程专项教程 子分类 入门3Dsmax教程入门Maya教程入门Blender教程入门Unity教程入门Unreal Engin...入门PS教程入门SP教程入门SD教程 http://itcg.cn/category/course/introductorytutorial/jcrmsubstancepainter/?_syxz=_kyshangy&orderby=date
4.SP新手入门基础教程SubstancePainter2019EssentialTraining本套CG教程,已翻译成中文,请享用。 本套Substance Painter教程录制于2019年12月5日,substance painter是3D纹理绘画软件,让用户的3D绘画制作变得更加方便,也更符合现今游戏中的贴图制作,提供的粒子笔刷是直接使用真实物理模拟的一种拟真的方法,这样可以在模型中添加逼真的磨损与破裂效果,同时可提的还有Material Painting材...https://www.verycg.com/3150.html
5.PC崛起(曙光)安装mod的保姆级教程看完保证你从入门到弃坑!(内附...(内附sp福利) (昨天是我生日,我却爆肝了一天这个视频。 看在up主这么努力的状况下,请给up一个三连支持一下吧!) 大家好啊,这里是号卧龙字孔明的诸葛不太亮。 不知道各位PC版崛起“玩”得怎么样了(指涩批mod)。 原本在冰原钟爱竞速的我,到了崛起却钟情于研究mod。https://www.caimogu.cc/post/104201.html
6.SubstancePainter入门基础教程十:透明效果制作上次我们讲解了Substance Painter入门基础教程九:发光效果制作,这节我们一起来看看透明效果在SP中的实现。 就以这个小油灯为例子吧。这个油灯的材质目前还不算完整,只有一个大致的材质效果,但只要操作熟练的话,材质制作部分还是挺快的。 那么先一起来看看灯罩的透明部分吧! https://jiaocheng.hxsd.com/course/content/10179/
7.SubstancePainter/Designer教程合集152部SP/SD教程中文字幕Substance Painter全面基础入门视频教程 Subtance Painter游戏模型材质制作视频教程 Substance Designer狼人角色动画模型纹理设计教程 Substance Designer树叶植物纹理贴图制作视频教程 武士头盔Substance Painter超精细贴图制作视频教程 Substance Painter武器枪材质中文翻译视频教程 ...https://www.douban.com/note/802852526/
8.SP基础讲解(二)视频教程重庆市设计院从事室内设计效果图表现 从事3Dmax工作8年之久,从事教育工作2年多精通3Dmax、PS、CAD、MD布料建模,熟练SP ZB AE PR等软件。擅长于3Dmax室内家装工装效果图表现、照片建模、各种风格家具、欧式雕花建模、异形建模 工业产品建模MD高级布料建模等。 老师课程(36) 3Dmax休闲单椅展UV 中级 高级 免费 【三...https://zixue.3d66.com/course/2373_403547.html
9.RK3399Pro入门教程(5)图形加速引擎RGA的使用请问楼主,我使用rga的接口imcvtcolor的时候,发现一个1920*1088的图片将yuv420SP的图片转换成RGB888耗时...https://bbs.elecfans.com/jishu_2271916_1_1.html
10.如何入门PV制作——PV师入坑教程(第一版)这个PV师入门基础教程是好几年前产物了,最近整理个人网站的时候,还是决定把它放出来,虽然有些教程过时失效,但它的框架思路是值得参考的,而我后续有时间可能会升级一些里面的内容。 另外,后来我简单对这些内容做了一个补充,具体看这篇: 后续更新 PV师入门教程内容更新 - 白歌的小站 ...https://baigebg.com/archives/1455/
11.NLP之结构化数据分类实战入门超详细教程nlp文本结构化NLP之结构化数据分类实战入门超详细教程 目录 前言 一、数据加载 1.加载包 2.读取数据 二、数据观察 (EDA) 1.整体情况 1.1 数值型特征基本统计量 1.2 非数值型特征基本统计量 2.生存率 Y 的信息 2.1 生存率与特征关系 2.2 Pclass 与生存率的关系https://blog.csdn.net/kobepaul123/article/details/117483027
12.栗子摄影【零基础学摄影,从摄影入门到精通】 无论你是一个只会一键对焦拍照的摄影新手或是一个已经脱离基础阶段向专业摄影师前进的摄影爱好者来说,都可以在这里学到你想要的风光人像摄影知识技巧。 【交互式摄影体验,游戏般玩转摄影】 一个有趣、好玩、全新的交互式摄影学习平台,在这里你可以学到100+创意拍摄主题和1000+...https://apps.apple.com/cn/app/%E6%A0%97%E5%AD%90%E6%91%84%E5%BD%B1-%E5%AD%A6%E4%B9%A0%E5%8D%95%E5%8F%8D%E6%91%84%E5%BD%B1%E5%BF%85%E5%A4%87-%E6%8B%8D%E6%91%84%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/id1402455405?l=cs
13.C4D教程c4d实例教程c4d基础入门教程cinema4d教程翼...C4D教程专题涵盖Cinema 4D基础教程、进阶与c4d实例教程等一系列视频教程以及最新学习资讯动态, 帮助Cinema 4D软件爱好者一步步从入门到精通,更有Cinema 4D专业讲师提供在线培训服务。https://www.yiihuu.com/zt/cinema-4d/
14.[攻略]碧蓝幻想(GranblueFantasy)新手入门系统教程VER1.1...[攻略] 碧蓝幻想(Granblue Fantasy) 新手入门系统教程 VER 1.1 欢迎大家来到新手教程的第三部分,也是最重要的一部分,游戏系统讲解。游戏内的各种系统繁复多样,完全掌握需要很多时间。但这些系统也是碧蓝的多样性的表现,希望大家能好好学习。 目录 主界面以及菜单 (本楼内) ...https://bbs.nga.cn/read.php?tid=11272301&page=e&pid=220046043&to=1