首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > STM32嵌入式微控制器快速上手

STM32嵌入式微控制器快速上手

  • 资源大小:29.75M
  • 上传时间:2021-08-20
  • 下载次数:0次
  • 浏览次数:1次
  • 资源积分:1积分
  • 标      签: 一般编程问题

资 源 简 介

STM32嵌入式微控制器快速上手.pdf。深入浅出的讲解stm32的开发,是入门学习者的一个不错选择。前言嵌入式系统属于一个交叉学科,它涵盖了微电子技术、电子信息技术、计算机软件和硬件等多项技术领域的应用,覆盖面广。目前嵌入式系统发展很快,很多软/硬件技术出现时间不长,掌握这些新技术的人相对较少。很多高校专业划分过细,难以跟上市场变化的步伐,与实际工程项目脱节严重,仍沿用应试教育的教学方式,理论知识讲授过多,动手环节薄弱,理论联系实际能力较差,学生参与社会实践较少,不了解社会需求。嵌入式教学需要相应的嵌入式开发板和软件,需要有经验的人进行开发流程指导,这在目前的高校中是很难实现的。针对上述冋题,我们组织多年在一线授课的教师根据教学经验编写了此书。1.对教师的建议把握“三个统一学单片机”的教学理论。1)一般与特殊的统一目前电类课程中关于微机方面的课程很多,如《计算机应用基础》、《微机原理》、《单片机原理及应用》、《嵌入式系统原理及应用》、《可编程控制器PIC》等,这些课程间内容既有重复又有联系,因为以奔腾芯片为核心的PC、以8086为核心的第一代PC、51单片机、以ARM为核心的嵌入式系统、PC都有相同的遗传基因(微机原理)。因此,任课老师都应熟悉上述课程,在课堂讲授中将其融会贯通起来,深入挖掘课程的共性,即微机的基本原理,然后引导学生在学习中侧重其差异,这样不仅可以提高学习效率,还可以启发学生思考。2)硬件与软件的统一通过多年的教学实践我们发现,“软件通过控制字寄存器控制硬件”是学生理解的难点,其原因可能是平时同学操作PC直接通过 Windows界面达到驱动硬件的目的,没有用软件驱动过底层硬件。因此在介绍嵌入式系统时,最好从硬件控制寄存器程序讲起,让学生对底层原理有个认识。对于STM32,本书在第5章也揭示了控制寄存器和库函数的相关性。另外,在参考文献[2]中,我们将汇编语言依赖硬件的特性深入挖掘,课堂效果较好,推荐采用。3)内部结构与外部引脚的统一将内部结构、外部引脚、系统功能、指令集统一起来,只有这样才能做到“庖丁解牛,游刃有余”。2.对学生的建议1)重杋实践工程师解决问题的能力只有从实践中才能获得。从实践经验中归纳出共性的知识,然后再将这些知识重新应用到新的实践中去,这也是当今的大学生要在未来的实际工作中所必须采取的学习和工作方法。只有做到了这一点,才能真正实践以工作为导向的理念:实践、归纳、总结和再实践。学好嵌入式系统,实践必不可少,一定要选一块和微处理器型号对应的开发板,创建一个良好的平台和环境,边实践边学习,尽量弄清其内在原理。硬件开发板的价格不必太高,最好能有自已动手的空间。深入理解SIM32的硬件最小系统,对υO口、串行通信、键盘、LED、LCD、SPI、C、PWM、AD(包括一些传感器)、D/A等实验逐个实践,逐步理解,再动手制做一个实际的小系统,底层硬件基础就有目录第1章嵌入式系统概述…1.I嵌人式系统简介……………l181.2ARM体系结构及微处理器系列·············吾4日日B·“+??TTT:1自自聊曲非自非目1.3 Cortex-M3简介…1.4STM32的发展…""""…145STM32教学开发板第2章 Cortex-M3体系结构182.1CM3微处理器核结构………2.2处理器的工作模式及状态182.3寄存器……………………………………………………………………2024总线接口…………………………………2.5存储器的组织与映射“…………………………………………“.242.6指令集…………………………………………………*332,7流水线28异常和中断…………………………………………………329STM32微控制器概述…………………………………………………………第3章STM32程序设计·鲁··,·,······自自·,·甲甲更普普鲁座音翻昏量量量面而画“画画面画画3.I嵌人式C语言知识精编473.2嵌入式软件层次结构…………………3.3 Cortex微控制器软件接口标准……3.4FWib固件库………3.5嵌人式C编程标准…175第4章STM32电源、时钟及复位电路4.1电源电路……·…814.2时钟电路…………4.3复位电路…福画画4.4启动设置…新···鲁:·········、··市·中是使申鲁鲁晋噩第5章STM32的GPO5.1cPIo的硬件结构及功能…………∵………………………925.2GPIo控制寄存器.96Ⅶ5.3应用实例…99第6章STM32中断系统…畜吾暨·誓1086.1SIM32中断源……………1086.2STM32中断优先级…11063外部中断/事件硬件结构(EXT)6.4外部中断寄存器配置……………1146.5中断过程……1666EX叮I寄存器………1226.7SIM32外部中断应用实例aB非善翻和福看非■画·.暮翻暮福着第7章STM2通用同步/异步收发器 USART……………………………………………1317,1端口复用……317.2 USART功能和结构…………1327.3 USART帧格式……………13474波特率设置……1367.5硬件流控制…13776 USART中断请求………………………………………………………13877 USART寄存器……3978 USART应用实例……143第8章STM32定时器………………………·1488.1STM32定时器概述…1488.2通用定时器TMx内部结构……………………………………………1498.3通用定时器TIMx功能8.4通用定时器TMx寄存器…578.5TM2应用实例…………………………16186RTC结构及功能…………………………·1638.7RTC控制寄存器……………………16588备份寄存器…………1678.9电源控制寄存器·世中中中····++8.10RTC相关的寄存器甲·,+t?_··量T量中 nef+ePHie P量m香曹1708I1RTC应用实例…1T18.12系统时钟 SysTick简介….176813 SysTick寄存器…………………1778.14 SysTick应用实例………178第9章STM32的DMA着·由,着l8091DMA简介…92STM32的DMA结构及功能……93DMA寄存器…量量量面tmc量量daa∴…18494DMA初始化设置……第10章STM32的AD转换器……18910.1ADC硬件结构及功能睡看*,18910.2工作模式…l9110.3数据对齐10.4ADC中断………10.5ADC控制寄存器道tt面自tt重I0.6ADC程序设计第1章μC/○S-‖嵌入式操作系统基础11.1操作系统的作用………20311.2操作系统的基本概念….“中4·量曾,·垂曾当曹曾+中鲁·曹·,世曾鲁鲁量曾·t,鲁曾曾·tB量B鲁重情2051l.3μC05-Ⅱ简介214l1.4μC/0s-Ⅱ移植…………………2l8第12章μC/OS-‖的内核机制………22912.IμC/0S-Ⅱ内核结构…………………………………2212.2μC/0s-Ⅱ的任务管理……245123C/0S-Ⅱ的时间管理……………………………………“265124任务间的通信与同步………………………………………26附录AARM常用缩写;;p4画281附录 B Cortex-M3指令清单附录CSTM32开发板原理图參考文献1■·新·;·鲁血命自由国·中着鱼「着虚面鲁由自自鲁虚自自自画中自·曲295第1章入式系统概诫1嵌入式系统简介1.嵌入式系统定义嵌入式系统通常定义为以应用为中心,以计算机技术为基础,软件、硬件可剪裁,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统及用户应用软件等部分组成,其分层结构如图1-1所示,用于实现对其他设备的控制、监视和管理等功能,嵌入式系统通常被嵌入在主要设备之中。功能层应用程序软件层文件系统图形用户接口任务管理实时操作系统(RTOS)中间层BSP/HAL板级支持包/硬件抽象层DA数字量输出通道A/D嵌入式硬件层微处理程序存储器数宇量输入通道数据存储器图1-1嵌人式系统分层结构IEEE(国际电气和电子工程师协会)对嵌人式系统定义为:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。中国微机学会对嵌入式系统定义为:嵌人式系统是以嵌入式应用为目的的计算机系统,可以分为芯片级、板卡级、系统级。芯片级嵌入的是含程序或算法的处理器;板卡级嵌入的是系统中的某个核心模块板;系统级嵌人的是主计算机系统。国內有学者认为,将一套计算机控制系统嵌人到已具有某种完整的特定功能的(或者将会具备完整功能的)系统内(如各种机械设备),以实现对原有系统的计算机控制,此时将这个新系统称为嵌入式系统。它通常由特定功能模块和计算机控制模块组成,主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统及用户应用软件等部分组成。从上述定义不难看出,嵌入式系统是一个针对特定的应用而“量身定做”的专用计算机系统,它具有嵌入性、专用性、计算机系统的特点。施乐公司 Palo alto研究中心主任 Mark Weiser认为:“从长远来看,PC和计算机工作站将衰落,因为计算机变得无处不在,如在墙里、在手腕上、在手写电脑中(像手写纸一样等,随用随取、伸手可及”。无处不在的计算机就是嵌入式系统。2STM32嵌入式微控制器快速上手2.嵌入式系统特点1)通用计算机与嵌入式系统对比通用计算机与嵌人式系统对比见表1-1。表1-1通用计算机与嵌入式系统对比特征通用计算机嵌人式系统形式和类型按其体系结构、运算速度和结构规模等因素分为大、中、小型机和微机形式多样组成通用处理器、标准总线和外设,软件和硬件相对面向应用的嵌入式微处理器,总线和外部接口多集独立成在芯片内部。轼件与硬件是紧密集成在一起的开发方式开发平台和运行平台都是通用计算机采用交叉开发方式,开发平台一般是通用计算机,运行平台是嵌入式系统二次开发性应用程序可重新编制般不能再编程通用性通用计算平台专用系统,用特定设备完成特定任务资源较多跟任务有关,一般较少程序存储内存中ROM可封装性看得见的计算机隐藏于目标系统内部而不被操作者察觉实时性不要求实时性与实际事件的发生频率相比,嵌入式系统能够在可预知的极短时间内对事件或用户的干预做出响应可靠性对可靠性要求不高嵌入式计算机隐藏在系统或设备中,用户很难直接接触、控制,因此一旦工作就要求它可靠运行从以上对比可以看出,与通用计算机不同,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能更具有竞争力。嵌入式处理器要根据用户的具体要求,对芯片配置进行裁剪或添加才能达到理想的性能,但同时还受用户订货量的制约,因此不同的处理器面向的用户是不一样的,可能是一般用户、行业用户或单一用户。嵌入式系统和具体用户有机地结合在一起,它的升级换代也是和具体产品同步进行的。嵌入式系统中的软件,一般都固化在ROM中,很少以磁盘为载体,所以嵌入式系统的应用软件的生命周期也和嵌入式产品一样长。此外,应用于各行业的嵌入式软件各有其专用化的特点,与通用计算机软件不同,嵌入式系统的软件更强调可继承性和技术衔接性。2)三个基本嵌入式系统通常的定义中有以下3个基本要素。≯“嵌入性”的特点:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气环境(可靠)、成本(价廉)等要求。≯“专用性”的特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。≯“计算机系统”的特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接囗电路。3)从用户方和开发方的角度看嵌入式系统用户方要求:功能简单;专门完成一个或几个任务:要考虑体积、功耗、价格和开发周期等因素;实时与环境交互,如图1-2所示;安全可靠,软、硬件的错误不能使系统崩溃。开发方要求:软件硬件协同并行开发;多种多样的微处理器;实时操作系统的多样性(RTOS);与台式机相比,可利用系统资源很少;应用支持很少;要求特殊的开发工具;调试很容易;软件、硬件都应很“健壮”。PDO第1章嵌入式系统概述非实时软实时硬实时计算机用户互联网远程飞行电子仿真接口视频控制控制引擎图1-2实时频谱图3.嵌入式系统分类1)普林斯顿结构和哈佛结构普林斯顿结构是由一个中央处理单元(CPU)和单存储空间组成的,即这个存储空间存储了全部的数据和程序,它们内部使用单一的地址总线和数据总线,也称为冯·诺伊曼结构,如图1-3所示。这样由于在取指令和取数据时都是通过一条总线分时进行的,所以要根据所给的地址对其进行读/写操作。I/O口串行接口并行接口数据总CPU地址总线ROMRAM外部存储器接口图1-3普林斯顿结构示意图当进行高速运算时,普林斯顿结构计算机不仅不能同时进行取指令和取数据,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。通常使用的ARM7就是属于普林斯顿结构哈佛体系结构存储器分为数据和程序两个存储空间,有各自独立的程序总线和数据总线,可以进行独立编址和独立访问,如图14所示。这样独立的程序存储器和数据存储器为数字处理提供了较高的性能。数据和程序可以并行完成,这使得数据移动更加容易。数据的吞吐量比普林斯顿结构提高了大约1倍。程序存储器地址指令寄存器」指令0控制器指令指令1指令2「数据存储器「数据通道地址数据0中央处理器数据数据1数据2图1-4哈佛体系存储系统结构图目前大部分DSP和ARM9微处理器都是采用哈佛体系结构。但这种结构的弱点是很难在哈佛机上编写出一个自修改的程序,即写入数据值后,使用这些值作为指令的程序。STM32嵌入式微控制器快速上手2)cSC和RSC计算机的指令集分为复杂指令集系统(CISC)和精简指令集系统(RlSC)。复杂指令集系统(CISC)的主要特点是指令系统丰富,程序设计方便,代码短小,执行性能髙。精简指令集系统(RISC)只包含使用频率很高的少量常用指令,再提供一些必要的支持操作系统和高级语言的指令。CSC和RISC比较见表1-2。表1-2csc和R|SC比较CISCRISC价格由硬件完成部分软件功能,硬件复杂性增由软件完成部分硬件功能,软件复杂性增加,芯片成加,芯片成本高本低性能减少代码尺寸,增加指令的执行周期数使用流水线降低指令的执行周期数,增加代码尺寸指令集复杂庞大简单精简指令周期不固定个周期编码长度编码长度可变,1-15宇节编码长度固定,通常为4个字节高级语言支持软件完成硬件完成寻址模式简单的寻址模式,仅允许LOAD和 STORE指令存取复杂的寻址模式支持内存到内存寻址内存,其他所有的操作都基于寄存器到寄存器寄存器数目寄存器较少寄存器较多总线结构普林斯顿结鸨哈佛结构编译难以用优化编译器生成高效的目标代码采用优化编译技术,生成高效的目标代码程序程序MCS-51系列; Motorala(现为 Freescale)应用实例6M68HC系列;Ame的AT89系列:imip的PC系列:ig的286系列;Ame的ips的80C51系列等AT90S系列;ARM公司的ARM系列等CISC技术的复杂性在于硬件,在于徵处理器中控制器部分的设计及实现;RISC技术的复杂性在于软件,在于编译程序的编写和优化。通常较简单的消费类电子设备,如微波炉、洗衣机等,可以采用RlSC单片机;较复杂的系统如通信设备、工业控制系统等,应采用CISC单片机。随着微处理器技术的进一步发展,CIsC与RSC两种体系结构的界限已不再泾渭分明,在很多系统中有融合的趋势。一方面,RISC设计正变得越来越复杂,例如,超长指令字的提出让一条RSC指令可以包含更多信息,同时完成多条传统指令的功能;ARM微处理器含有普通ARM指令和 Thumb指令两套指令集,以适应嵌入式系统对低功耗、小存储的要求。另一方面,CISC也在吸收RSC的优点,例如, PentiumⅡ以后的微处理器在内部实现时也釆用RISC架构,把复杂的指令在内部由微码通过执行多条精简指令实现。3)嵌入式系统内核种类嵌入式微处理器的基础是通用计算机中的CPU。在应用中只保留和嵌人式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌人式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面进行了增强。微控制器又称单片机,一般以某一种微处理器内核为核心,芯片内部集成存储器、LO接口等各种必要功能,如图1-5所示。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。广义地讲,微控制器产品的作用就是通过预先编制的程序,接收特定的环境参数或用户操作,按照一定的规则控制电信号的变化,再通过各种转换机制把电信号转换成诸如机械动作、光信号、声音信号、显示图像等形式,从而达到智能化控制的目的。

相 关 资 源

您 可 能 感 兴 趣 的

同 类 别 推 荐

VIP VIP
  • WYG 1天前 成为了本站会员

  • Shine 1天前 成为了本站会员

  • 柳贻 1天前 成为了本站会员

  • hallelujah_HL 1天前 成为了本站会员

  • 焦昱贺 1天前 成为了本站会员

  • Rubin 1天前 成为了本站会员

  • Li 2天前 成为了本站会员

  • bigfatcat1977 3天前 成为了本站会员

  • just4down 3天前 成为了本站会员

  • shallow 3天前 成为了本站会员

0.170774s