没有合适的资源?快使用搜索试试~ 我知道了~
STM32入门学习资料,深入浅出的讲解,非常适合刚刚接触STM32的童靴
需积分: 50 48 下载量 109 浏览量
2018-06-04
16:49:34
上传
评论 3
收藏 3.09MB PDF 举报
温馨提示
试读
53页
很好的入门学习资料,高手略过!!!
资源推荐
资源详情
资源评论
《零死角玩转
STM32
》—
F1
系列
第 1 页 共 53 页
前言
一天入门 STM32,仅一天的时间,是否有真的这么快。不同的人对入门的理解不一
样,这篇一天入门 STM32 的教程,我们先对入门达成一个共识,如果你有异议,一天入门
不了,请不要较真,不要骂街,保持一个工程师该有的修养,默默潜心学习,因为你还有
很大的上升空间。
我眼中的入门:(前提是你学过 51 单片机和 C 语言)
1、知道参考官方的什么资料来学习,而不是陷入一大堆资料中无从下手。
2、知道如何参考官方的手册和官方的代码来独立写自己的程序,而不是一味的看到人
家写的代码就觉得人家很牛逼。
3、消除对 STM32 的恐惧,消除对库开发的恐惧,学习是一个快乐而富有成就感的过
程。
《零死角玩转
STM32
》—
F1
系列
第 2 页 共 53 页
第
1
章 一天入门
STM32
本章参考资料:《STM32 中文参考手册》 《CM3 权威指南 CnR2》
学习本章时,配合《STM32 中文参考手册》GPIO 章节一起阅读,效果会更佳,特
别是涉及到寄存器说明的部分。
1.1 51 与 STM32 简介
51 是嵌入式学习中一款入门级的精典 MCU,因其结构简单,易于教学,且可以通过
串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学
中用的还是 51。51 诞生于 70 年代,属于传统的 8 位单片机,如今,
久经岁月的洗礼,既
有其辉煌又有其不足。现在的市场产品竞争激烈,对成本极其敏感,相应地对 MCU 的
要求也更苛刻:功能更多,功耗更低,易用界面和多任务。面对这些要求,51 现有的
资源就显得
得抓襟见肘了。所以无论是高校教学还是市场需求,都急需一款新的 MCU 来
为这个领域注入新的活力。
基于这市场的需求, ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 Cortex-M3
微控制器内核。紧随其后,ST(意法半导体)公司就推出了基于 Cortex-M3 内核的
MCU—STM32。STM32 凭借其产品线的多样化、极高的性价比、简单易用的库开发方
式,迅速在众多 Cortex-M3 MCU 中脱颖而出,成为最闪亮的一颗新星。STM32 一上市就
迅速占领了中低端 MCU 市场,受到了市场和工程师的无比青睐,颇有星火燎原之势。
作为一名合格的嵌入式工程师,面对新出现的技术,我们不是充耳不闻,而是要尽快
吻合市场的需要,跟上技术的潮流。如今 STM32 的出现就是一种趋势,一种潮流,我们要
做的就是搭上这趟快车,让自己的技术更有竞争力。
1.1.1 51
与
STM32
架构的区别
我们先普及一个概念,单片机(即 MCU)里面有什么。一个人最重要的是大脑,身体
的各个部分都在大脑的指挥下工作。MCU 跟人体很像,简单来说是由一个最重要的内核加
其他外设组成,内核就相当于人的大脑,外设就如人体的各个功能器官。
下面我们来简单介绍下 51 和 STM32 的结构。
1. 51
系统结构
51 系统结构框图
《零死角玩转
STM32
》—
F1
系列
第 3 页 共 53 页
图
1 51
系统结构框图
我们说的 51 一般是指 51 系列的单片机,型号有很多,常见的有 STC89C51、
AT89S51,其中国内用的最多的是 STC89C51/2,下面我们就以 STC89C51 来讲解,并以
51 简称。
内核
51 由一个 IP 核和片上外设组成,IP 核就是上图中的 CPU,片上外设就是上图中的:
时钟电路、SFR 和 RAM、ROM、定时/计数器、并行 I/O 口、串行 I/O 口、中断系统。IP
核跟外设之间由系统总线连接,且是 8bit 的,速度有限。
51 内核是上个世纪 70 年代 intel 公司设计的,速度只有 12M,外设是 IC 厂商(STC)
在内核的基础上添加的,不同的 IC 厂商会在内核上添加不同的外设,从而设计出各具特色
的单片机。这里 intel 属于 IP 核厂商,STC 属于 IC 厂商。我们后面要讲的 STM32 也一
样,ARM 属于 IP 核厂商,ARM 给 ST 授权,ST 公司在 Cortex-M3 内核的基础上设计出
STM32 单片机。
外设
我们在学习 51 的时候,关于内核部分接触的比较少,使用的最多的是片上外设,我们
在编程的时候操作的也就是这些外设。
《零死角玩转
STM32
》—
F1
系列
第 4 页 共 53 页
编程的时候操作的寄存器位于 SFR 和 RAM 这个部分,其中 SFR(特殊功能寄存器)
占有 128 字节(实际上只用了 26 个字节,只有 26 个寄存器,其他都属于保留区),RAM
占有 128 字节,我们在程序中定义的变量就是放在 RAM 中。其中 SFR 和 RAM 在地址上
是重合的,都是在 80~FF 这个地址区间,但在物理区间上是分开的,所以 51 的 RAM 是有
256 个字节。
编写好的程序是烧写到 ROM 区。剩下的外设都是我们非常熟悉的 IO 口,串口、定时
器、中断这几个外设。
2. STM32
系统结构
STM32 系统结构框图
图
2 STM32
系统结构框图
内核
在系统结构上,STM32 和 51 都属于单片机,都是由内核和片上外设组成。只是
STM32 使用的 Cortex-M3 内核比 51 复杂得多,优秀得多,支持的外设也比 51 多得多,同
时总线宽度也上升到 32bit,无论速度、功耗、外设都强与 51。
《零死角玩转
STM32
》—
F1
系列
第 5 页 共 53 页
从结构框图上看,对比 51 内核只有一种总线,取指和取数共用。Cortex-M3 内部有若
干个总线接口,以使 CM3 能同时取址和访内(访问内存),它们是:
指令存储区总线(两条)、系统总线、私有外设总线。有两条代码存储区总线负责对代
码存储区(即 FLASH 外设)的访问,分别是 I-Code 总线和 D-Code 总线。
I-Code 用于取指,D-Code 用于查表等操作,它们按最佳执行速度进行优化。
系统总线(System)用于访问内存和外设,覆盖的区域包括 SRAM,片上外设,片外
RAM,片外扩展设备,以及系统级存储区的部分空间。
私有外设总线负责一部分私有外设的访问,主要就是访问调试组件。它们也在系统级
存储区。
还有一个 MDA 总线,从字面上看,DMA 是 data memory access 的意思,是一种连接
内核和外设的桥梁,它可以访问外设、内存,传输不受 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 主频不高,资源有限,必须注重程序执行的效率,只能直接操作寄存器。关键
的地方还得用汇编,不适合用固件库。
剩余52页未读,继续阅读
资源评论
根号C
- 粉丝: 9
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240424_183805.jpg
- DatabaseWatermarkingBasedonTextFormat
- -移动通信-网络课程设计与研究
- 基于Python的PCA人脸识别算法的原理及实现代码+文档详解.zip
- 甘肃移动全业务工程建设项目管理流程优化研究
- 549springboot + vue 民宿管理平台.zip (可运行源码+数据库文件+文档)
- ZArchiver.Pro_0.9.5.apk
- vmware环境配置.mp4
- 548springboot + vue 大学生社团活动平台.zip(可运行源码+数据库文件+文档)
- 微信小程序 辩论倒计时小程序源码 作业设计demo 计算机专业参考
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功