




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32
微控制器原理及应用第1章
嵌入式系统概述第2章STM32结构第3章
基于STM32固件函数库的程序设计基础第4章GPIO第5章
中断系统第6章
定时器计数器第7章USART第8章DMA控制器第9章AD转换器全套可编辑PPT课件
本课件是可编辑的正常PPT课件课程简介与考核形式以STM32F103为核心,介绍嵌入式系统结构与工作原理,学习基于固件库的程序设计方法,能够在MDK环境中,编写多种I/O接口的控制程序,在开发板上调试运行成功。这是一门实践性很强的课程,理论课27学时,实践课27学时。单周理论课,双周实践课。总成绩=实验40%+平时10%+期末50%本课件是可编辑的正常PPT课件第一章嵌入式系统概述【本章教学目标】嵌入式系统的定义与特点嵌入式微处理器分类嵌入式系统的发展和应用STM32微控制器系列产品特点STM32F103主要性能本课件是可编辑的正常PPT课件主要内容1.嵌入式系统简介2.STM32微控制器简介本课件是可编辑的正常PPT课件1嵌入式系统简介1.1嵌入式系统定义1.2嵌入式系统的特点1.3嵌入式系统的分类1.4嵌入式系统的应用1.5嵌入式系统的发展1.6通用计算机与嵌入式系统对比本课件是可编辑的正常PPT课件1.1嵌入式系统定义嵌入式系统(Embeddedsystem),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电器工程师协会(U.K.InstitutionofElectricalEngineer)的定义,嵌入式系统为“用于控制、监视或者辅助操作机器和设备的装置”。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。本课件是可编辑的正常PPT课件1.1嵌入式系统定义嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的,所以经常称为“固件”。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件。本课件是可编辑的正常PPT课件1.2嵌入式系统的特点嵌入式系统的硬件和软件必须根据具体的应用任务,以功耗、成本、体积、可靠性、处理能力等为指标来进行选择。从用户和开发人员的不同角度来看,与普通计算机相比较,嵌入式系统具有如下特点:(1)专用性强。由于嵌入式系统通常是面向某个特定应用的,所以嵌入式系统的硬件和软件,尤其是软件,都是为特定用户群设计的。(2)体积小型化。方便将嵌入式系统嵌入目标系统中。(3)实时性好。嵌入式系统广泛应用于生产过程控制、数据采集、传输通信等场合,主要用来对宿主对象进行控制,所以对嵌入式系统有或多或少的实时性要求。(4)可裁剪性好。从嵌入式系统专用性的特点来看,嵌入式系统的供应者提供各式各样的硬件和软件以备选用。(5)可靠性高。由于有些嵌入式系统所承担的计算任务涉及被控产品的关键质量、人身设备安全等,对可靠性的要求极高。本课件是可编辑的正常PPT课件(6)功耗低。有许多嵌入式系统的宿主对象是一些小型应用系统,如移动电话、数码相机等,这些设备不可能配置交流电源或容量较大的电源,因此低功耗一直是嵌入式系统追求的目标。(7)专门的开发工具和环境。嵌入式系统本身不具备自我开发能力,必须借助通用计算机平台来开发。嵌入式系统设计完成以后,普通用户通常没有办法对其中的程序或硬件结构进行修改,必须有一套开发工具和环境才能进行。(8)嵌入式系统通常采用“软硬件协同设计”的方法实现。避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能、低代价的优化设计方案。本课件是可编辑的正常PPT课件1.3嵌入式系统的分类
(1)体系结构。普林斯顿结构(冯·诺依曼结构)和哈佛结构(2)指令集。CISC(复杂指令系统)和RISC(精简指令系统)(3)嵌入式处理器种类。一般可以将嵌入式处理器分成4类,即嵌入式微处理器(MicroProcessor
Unit,MPU)嵌入式微控制器(MicroControllerUnit,MCU单片机)嵌入式DSP处理器(Digital
SignalProcessor,DSP)嵌入式片上系统(SystemOnChip,SoC)
本课件是可编辑的正常PPT课件冯·诺依曼结构:单一存储、统一编址、分时复用本课件是可编辑的正常PPT课件哈佛结构:分开存储、独立编址、两倍带宽、效率更高本课件是可编辑的正常PPT课件CISC(复杂指令系统)和RISC(精简指令系统)本课件是可编辑的正常PPT课件嵌入式微处理器(MicroProcessor
Unit,MPU)嵌入式微处理器字长一般为16位或32位,Intel、AMD、Motorola、ARM等公司提供很多这样的处理器产品。嵌入式微处理器通用性比较好、处理能力较强、可扩展性好、寻址范围大、支持各种灵活的设计,且不限于某个具体的应用领域。在实践应用中,嵌入式微处理器需要在芯片外配置RAM和ROM,根据应用要求往往要扩展一些外部接口设备,如网络接口、GPS、A/D接口等。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称之为单板计算机。嵌入式微处理器在通用性上有点类似通用处理器,但前者在功能、价格、功耗、芯片封装、温度适应性、电磁兼容方面更适合嵌入式系统应用要求。嵌入式处理器有很多种类型,如xScale、Geode、PowerPC、MIPS、ARM等处理器系列。本课件是可编辑的正常PPT课件嵌入式微控制器(MicroControllerUnit,MCU单片机)嵌入式微控制器又称单片机,已经经历了近30年的发展历史,目前在嵌入式系统中仍然有着极其广泛的应用。这种处理器内部集成RAM、各种非易失性存储器、总线控制器、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A等各种必要功能和外设。其跟嵌入式微处理器相比,微控制器的最大特点是将计算机最小系统所需要的部件及一些应用需要的控制器/外部设备集成在一个芯片上,实现单片化,使得芯片尺寸大大减小,从而使系统总功耗和成本下降、可靠性提高。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。MCU品种丰富、价格低廉,目前占嵌入式系统约70%以上的市场份额。本课件是可编辑的正常PPT课件嵌入式DSP处理器(Digital
SignalProcessor,DSP)在数字化时代数字信号处理是一门应用广泛的技术,如数字滤波、FFT、谱分析、语音编码、视频编码等、数据编码、雷达目标提取等等,传统微处理器在进行这类计算操作时的性能较低,专门的数字信号处理芯片——DSP也就应运而生,DSP的系统结构和指令系统针对数字信号处理进行了特殊设计,因而在执行相关操作时具有很高的效率。在应用中,DSP总是完成某些特定的任务,硬件和软件需要为应用进行专门定制,因此DSP是一种嵌入式处理器。本课件是可编辑的正常PPT课件嵌入式片上系统(SystemOnChip,SoC)
在某一类特定的应用对嵌入式系统的性能、功能、接口有相似的要求,针对嵌入式系统的这个特点,利用大规模集成电路技术将某一类应用需要的大多数模块集成在一个芯片上,从而在芯片上实现一个嵌入式系统大部分核心功能,这种处理器就是SOC。SOC把微处理器和特定应用中常用的模块集成在一个芯片上,应用时往往只需要在SOC外部扩充内存、接口驱动、一些分立元件及供电电路就可以构成一套实用的系统,极大地简化了系统设计的难度,同时还有利于减小电路板面积、降低系统成本、提高系统可靠性。SOC是嵌入式处理器的一个重要发展趋势。本课件是可编辑的正常PPT课件1.4嵌入式系统的应用(1)工业控制基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。(2)交通管理在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块、GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。本课件是可编辑的正常PPT课件1.4嵌入式系统的应用(3)信息家电这将称为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。(4)家庭智能管理系统水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。(5)POS网络及电子商务公共交通无接触智能卡(ContactlessSmartcard,CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。本课件是可编辑的正常PPT课件1.4嵌入式系统的应用(6)环境工程与自然水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。在很多环境恶劣,地况复杂的地区,嵌入式系统将实现无人监测。(7)国防与航天嵌入式芯片的发展将使机器人在微型化,高智能方面优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。本课件是可编辑的正常PPT课件1.5嵌入式系统的发展纵观嵌入式系统的发展历程,大致经历了以下3个阶段:以嵌入式微处理器为基础的初级嵌入式系统以嵌入式操作系统为标志的中级嵌入式系统以Internet和实时多任务操作系统为标志的高级嵌入式系统
本课件是可编辑的正常PPT课件发展趋势嵌入式技术与Internet技术的结合正在推动着嵌入式技术的飞速发展,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,未来嵌入式系统的几大发展趋势:(1)嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。(2)网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,以往功能单一的设备如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为必然趋势。本课件是可编辑的正常PPT课件发展趋势(3)未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。
(4)精简系统内核,优化关键算法,降低功耗和软硬成本。(5)提供更加友好的多媒体人机交互界面。本课件是可编辑的正常PPT课件1.6通用计算机与嵌入式系统对比本课件是可编辑的正常PPT课件硬件平台比较本课件是可编辑的正常PPT课件软件平台比较本课件是可编辑的正常PPT课件2.STM32简介STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM
Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K~128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。本课件是可编辑的正常PPT课件2.STM32简介2.1历史2.2产品介绍2.3Cortex-M3内核2.4应用本课件是可编辑的正常PPT课件2.1STM32历史意法半导体(STMicroelectronics)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSONMicroelectronics将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至今,ST的增长速度超过了半导体工业的整体增长速度。自1999年起,ST始终是世界十大半导体公司之一。2007年6月ST宣布了她的第一款基于Cortex-M3并内嵌32K~128K闪存的STM32微控制器系列产品。ARM公司在2004年推出了CM3内核,经过5年市场的积累,包括ST公司、TI公司等一些半导体公司推出了基于CM3内核的微控制器产品。本课件是可编辑的正常PPT课件ARMARM(AdvancedRISCMachines)是英国的一家微处理器企业,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。见表1-5(P10)ARM体系结构定义了指令集和基于这一体系结构下处理器的编程模型。基于同样体系结构可以有多种处理器,每个处理器性能不同,所面向的应用也就不同。ARMv7有三个分支,即:
A-应用分支,面向应用,如手持设备。
R-实时分支,面向一般的实时控制。
M-微处理机分支,面向深度嵌入系统。本课件是可编辑的正常PPT课件ARM处理器系列本课件是可编辑的正常PPT课件2.2Cortex-M3内核Cortex-M3系列微处理器的主要特点如下:(1)Thumb-2指令集架构(ISA,InstructionSetArchitecture)。(2)哈佛处理器架构,在加载/存储数据的同时能够执行指令取指。(3)三级流水线。(4)32位单周期乘法。(5)具备硬件除法。(6)Thumb状态和调试状态。(7)处理模式和线程模式。(8)ISR(InterruptServiceRoutine)的低延迟进入和退出。(9)可中断-可继续的LDM/STM(批量传输数据的指令),PUSH/POP。(10)ARMv6类型BE8/LE支持。
(字节不变式大端模式big-endian/小端模式little-endian)(11)ARMv6非对齐访问。(12)分支预测功能本课件是可编辑的正常PPT课件关于指令集Cortex-M3处理器采用ARMv7-M(哈佛)架构。它采用Thumb-2指令集。包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架构,Cortex-M3处理器不能执行ARM指令集。Thumb-2在Thumb指令集架构(ISA)上进行了大量的改进,它与Thumb相比,具有更高的代码密度并提供16/32位指令的更高性能。为兼容数据总线宽度为16位的应用系统,ARM体系结构除了支持执行效率很高的32位ARM指令集以外,同时支持16位的Thumb指令集。Thumb指令集是ARM指令集的一个子集,是针对代码密度问题而提出的,它具有16位的代码宽度。与等价的32位代码相比较,Thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。本课件是可编辑的正常PPT课件Cortex-M3只支持最新的Thumb-2指令集,这样设计的优势在于:免去Thumb和ARM代码的互相切换,对于早期的处理器来说,这种切换会降低性能。Thumb-2指令集的设计是专门面向C语言的,切包括If/Then结构、硬件除法以及本地位域操作。Thumb-2指令集允许用户在C代码层面维护修改程序。Thumb-2指令集也包含了调用汇编代码的功能。综合以上优势,新产品的开发将更易于实现,上市时间也大为缩短。本课件是可编辑的正常PPT课件三级流水线----取指、译码、执行本课件是可编辑的正常PPT课件关于工作状态Coretx-M3处理器有2种工作状态。Thumb状态:这是16位和32位“半字对齐”的Thumb和Thumb-2指令的执行状态。调试状态:处理器停止并进行调试,进入该状态。本课件是可编辑的正常PPT课件关于工作模式Cortex-M3处理器支持2种工作模式:线程模式和处理模式。在复位时处理器进入“线程模式”,异常返回时也会进入该模式,特权和用户(非特权)模式代码能够在“线程模式”下运行。出现异常模式时处理器进入“处理模式”,在处理模式下,所有代码都是特权访问的。本课件是可编辑的正常PPT课件关于中断Cortex-M3的一个创新在于嵌套中断向量控制器(NVIC,NestedVectoredInterruptController),是Cortex-M3内部的独有集成单元。NVIC提供如下的功能:可嵌套中断支持向量中断支持动态优先级调整支持中断延迟大大缩短中断可屏蔽本课件是可编辑的正常PPT课件ARM数据存储格式本课件是可编辑的正常PPT课件Cortex-M3处理器能够以小端格式或大端格式访问存储器中的数据字,而访问代码时始终使用小端格式。小端格式是ARM处理器默认的存储器格式。本课件是可编辑的正常PPT课件2.3产品介绍在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、增强型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。本课件是可编辑的正常PPT课件LQFP也就是薄型QFP(Low-profileQuadFlatPackage)指封装本体厚度为1.4mm的QFP,是日本电子机械工业会制定的新QFP外形规格所用的名称。QFP封装:这种技术的中文含义叫四方扁平式封装技术(QuadFlatPackage),该技术实现的CPU芯片引脚之间距离很小,管脚很细。一般大规模或超大规模集成电路采用这种封装形式,其引脚数一般都在100以上。该技术封装CPU时操作方便,可靠性高;而且其封装外形尺寸较小,寄生参数减小,适合高频应用;该技术主要适合用SMT表面贴装技术在PCB上安装布线。本课件是可编辑的正常PPT课件LFBGA封装:也就是薄型FBGAFBGA(Fine-PitchBallGridArray:细间距球栅阵列)是一种在底部有焊球的面阵引脚结构,使封装所需的安装面积接近于芯片尺寸。BGA是英文BallGridArrayPackage的缩写,即球栅阵列封装。本课件是可编辑的正常PPT课件2.3产品介绍基本型:STM32F101R6,STM32F101C8,STM32F101R8,STM32F101V8,STM32F101RB,STM32F101VB增强型:STM32F103C8,STM32F103R8,STM32F103V8,STM32F103RB,STM32F103VB,STM32F103VE,STM32F103ZE本课件是可编辑的正常PPT课件STM32型号的说明以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:STM32:STM32代表ARMCortex-M3内核的32位微控制器。F:F代表芯片子系列。103:103代表增强型系列。R:R这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚。B:B这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash。T:T这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。6:6这一项代表工作温度范围,其中6代表-40---85℃,
7代表-40---105℃。本课件是可编辑的正常PPT课件STM32F103RBT6封装引脚图本课件是可编辑的正常PPT课件2.4STM32F103性能STM32F系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。该系列芯片按片内Flash的大小可分为三大类:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。芯片集成有USB,CAN,最多8个定时器,2个ADC,SPI,IIC,USB,UART等多种功能。本课件是可编辑的正常PPT课件2.4STM32F103性能内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。存储器:片上集成32~512KB的Flash存储器。6~
64KB的SRAM存储器。时钟、复位和电源管理:2.0~
3.6V的电源供电和I/O接口的驱动电压;上电/断电复位;4~16MHz的晶振;内嵌出厂前调校的8MHzRC振荡电路;内部40kHz的RC振荡电路;用于CPU时钟的PLL(PhaseLockedLoop,锁相环);带校准用于RTC(real-timeclock)的32kHz的晶振。可编程电压检测(PVD)。低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT(电池引脚)。调试模式:串行调试(SWD)和JTAG接口。DMA(DirectMemoryAccess):12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。2个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6V。双采样和保持能力。片上集成一个温度传感器。本课件是可编辑的正常PPT课件2.4STM32F103性能2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。最多高达112个的快速I/O端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。最多多达13个通信接口:2个IIC接口。5个USART接口。3个SPI接口,两个和IIS复用。CAN接口(2.0B)。USB2.0全速接口。SDIO接口。ECOPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式(一种无铅的BGA封装)。本课件是可编辑的正常PPT课件2.5应用返回本课件是可编辑的正常PPT课件练习题1-1国内普遍认同的嵌入式系统定义是什么?1-2嵌入式系统有哪些重要特征?1-3普林斯顿结构和哈佛结构分别有什么特点?1-4计算机指令系统分为哪两种?1-5根据应用不同,嵌入式处理器分成哪几类?1-6嵌入式系统的发展历程,大致经历了哪几个个阶段?1-7嵌入式系统未来的发展趋势是什么?1-82007年6月()公司宣布了她的第一款基于()内核的STM32微控制器系列产品。1-9Cortex-M3CPU的最高工作频率是多少?1-10什么是三级流水线?1-11大端模式和小端模式存放数据有什么不同?1-12STM32F103RBT6这个型号的芯片有多少引脚?片内存储器容量是多少?1-13STM32F103内部集成了哪些资源?本课件是可编辑的正常PPT课件STM32
微控制器原理及应用本课件是可编辑的正常PPT课件第二章STM32结构【本章教学目标】嵌入式系统的定义与特点嵌入式微处理器分类嵌入式系统的发展和应用STM32微控制器系列产品特点STM32F103主要性能本课件是可编辑的正常PPT课件主要内容2.1STM32系统结构2.1.1Cortex-M3的内部结构2.1.2STM32的总线结构2.2STM32存储器组织2.2.1STM32存储器映射2.2.2位段操作2.3STM32内部资源2.3.1STM32功能结构2.3.2STM32的引脚分布2.4STM32最小系统2.4.1电源电路2.4.2时钟电路2.4.3复位电路2.4.4启动电路本课件是可编辑的正常PPT课件2.1STM32系统结构2.1.1Cortex-M3的内部结构由ARM公司推出的AMBA片上总线已经成为一种主流的工业片上结构,AMBA规范主要包括AHB系统总线(AdvancedHighperformanceBus)和APB外设总线(AdvancedPeripheralBus),二者分别适用于高速与相对低速设备的连接。CM3包含5个总线,即I-Code总线、D-Code总线、系统总线、外部专用外设总线和内部专用外设总线,CM3内部结构及总线连接如图2-1所示。本课件是可编辑的正常PPT课件图2-1CM3内部结构及总线连接图本课件是可编辑的正常PPT课件2.1.2STM32的总线结构STM32的总线结构如图2-2所示,STM32总线由以下部分构成4个驱动单元:Cortex-M3内核ICode总线(I-bus)、DCode总线(D-bus)、系统总线(S-bus)、通用DMA1和通用DMA2。4个被动单元:内部SRAM、内部闪存Flash、FSMC、AHB到APB的桥(AHB2APBx,连接所有的APB设备)ICode总线:将CM3内核的指令总线与Flash存储器指令接口相连接,用于指令预取。DCode总线:将CM3内核DCode总线与Flash存储器数据接口相连接,用于常量加载和调试访问。System总线:将CM3内核的System总线(外设总线)连接到总线矩阵,用于访问内存和外设,包括SRAM、片上外设、片外RAM、片外扩展设备以及系统级存储区的部分空间。DMA总线:将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调CPU的DCode和DMA到SRAM、闪存和外设的访问。本课件是可编辑的正常PPT课件图2-2STM32的总线结构图本课件是可编辑的正常PPT课件2.2 STM32存储器组织2.2.1STM32存储器映射STM32将可访问的存储器空间分成8个主块,每个块为0.5GB即512MB,其他未分配给片上存储器和外设存储器空间都是保留的地址空间。STM32存储器映射图如图2-3所示,4GB的线性地址空间内,寻址空间被分成8个主块:block0~block7,每块512MB。 片内Flash:0x00000000~0x1FFFFFFF,用于存放程序、表格和常数; 片内SRAM:0x20000000~0x3FFFFFFF,用于存放程序中间变量与数据; 片上外设区:0x40000000~0x5FFFFFFF,用于片上外设。本课件是可编辑的正常PPT课件2.2.2位段操作MCS-51有位操作,STM32没有位操作,而是通过位段区、位段别名区实现位操作即位段操作。CM3中支持位段操作的地址区称为位段区。在寻址空间的另一地方,有一个“位段别名区”空间,从这个地址开始处,每一个字(32位)对应位段区的一位;在位段区中,每一位都映射到位段别名区的一个字,对位段别名区的访问最终会变换成对位段区的访问。CM3存储器空间包括2个位段(bitband)区,该位段区分别与2个32M的位段别名(bitbandAlias)区对应,位段区中的每一位映射到位段别名区中的一个字,通过对位段别名区中某个字的读/写操作可实现对位段区中某一个位的读/写操作。位段区与位段别名区的映射关系如图2-4所示。本课件是可编辑的正常PPT课件图2-4位段区与位段别名区的映射关系图本课件是可编辑的正常PPT课件2.3STM32内部资源2.3.1STM32功能结构STM32内部总线和两条APB总线将片上系统和外设资源紧密地连接起来,其中内部总线是主系统总线,连接CPU、存储器和系统时钟等。APB1总线连接速率较低的外设,APB2总线连接速率较高的外设,如系统通用外设和中断控制等。GPIO端口包括PA、PB、PC、PD、PE、PF和PG7个16位的GPIO端口,其它外设接口引脚都和GPIO端口的引脚功能复用,AF表示功能复用引脚。STM32F1xx系列内部结构框图如图2-5所示,不同型号的具体配置有所不同。本课件是可编辑的正常PPT课件STM32F1xx系列微控制器外设资源配置表本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件2.3.2STM32的引脚分布STM32F103系列有最多7个16位的并行I/O端口:PA、PB、PC、PD、PE、PF和PG,既可作为输入,也可作为输出;既可按16位(半字)处理,也可按位处理。STM32F1xx系列微控制器引脚分布图如图2-6所示,这是一个标准的144引脚LQFP(Low-profileQuadFlatPackage)封装的芯片。图2-7是STM32芯片实物图,它是512KB闪存100引脚的STM32F103VET6芯片。本课件是可编辑的正常PPT课件图2-6STM32系列微控制器引脚分布图图2-7STM32F103VET6芯片实物图本课件是可编辑的正常PPT课件2.4STM32最小系统嵌入式系统的最小系统是指以某一微处理器为核心,可满足其正常工作的组成部分,主要包括五个部分:电源电路、时钟电路、复位电路、启动电路、下载调试电路。本课件是可编辑的正常PPT课件2.4.1电源电路STM32微处理器的工作电压(VDD)为2.0~3.6V,通过内置电压调节器为内核、内存和片上外设提供所需的1.8V电源,因此,STM32的内核电压是1.8V,I/O端口电压是3.3V。当主电源VDD掉电后,通过VBAT引脚为实时时钟(RTC)和备份寄存器提供电源。本课件是可编辑的正常PPT课件开发板上可以DC5V,或者USB5V,一般用电脑USB口供电。
R1:保险电阻,
C1、C2:滤波电容,
AMS1117-3.3:把5V转换成3.3V.本课件是可编辑的正常PPT课件2.4.2时钟电路STM32系列微控制器有一个非常复杂的时钟系统,由以下4个独立时钟源组成:高速内部时钟HSI(HighSpeedInternal):内部RC振荡器产生8MHz的频率,可直接作为系统时钟SYSCLK或在2分频后作为PLL输入,但精度不高,不够稳定;高速外部时钟HSE(HighSpeedExternal):可接晶振/陶瓷谐振器,或外部时钟源,频率范围为4MHz~16MHz,常用值为8MHz;精度高;低速内部时钟LSI(LowSpeedInternal):内部RC振荡器可产生30~60KHz的频率;低速外部时钟LSE(LowSpeedExternal):外接32.768KHz的晶振,主要供给实时时钟RTC。锁相环倍频输出PLL(PhaseLockedLoop)时钟输入源可选择为HSI/2、HSE或HSE/2,倍频可选择为2~16倍,但其输出频率最大不超过72MHz。本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件一般开发板上的外接时钟电路本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件2.4.3复位电路STM32F1xx支持三种复位形式,分别为系统复位、电源复位和备份区域复位。
本课件是可编辑的正常PPT课件2.4.4启动电路STM32F1xx通过设置BOOT[1:0]引脚选择3种不同的启动模式。通过设置BOOT[1:0]引脚,各种不同启动模式对应的存储器物理地址将被映射到启动空间。本课件是可编辑的正常PPT课件2.4.5下载电路开发板支持JTAG下载和串口下载JTAG下载。JTAG一端接电脑,另一端接开发板本课件是可编辑的正常PPT课件串口下载
PL2303:USB转串口本课件是可编辑的正常PPT课件练习题2-1Cortex-M3包含哪些总线?2-2STM32微处理器有哪些低功耗模式?2-3什么是嵌入式系统的最小系统?2-4STM32最小系统主要包括哪些电路?2-5STM32存储器映射空间有哪些?2-6STM32系列有哪些时钟源?为什么需要多个时钟源?2-7STM32系列微控制器有哪些启动模式?2-8外设时钟如何产生?2-9APB1时钟树上接了哪些外设?2-10APB2时钟树上接了哪些外设?本课件是可编辑的正常PPT课件第三章
基于STM32固件函数库的程序设计基础STM32微控制器原理及应用本课件是可编辑的正常PPT课件【本章教学目标】通过本章的学习能够:了解C语言关键字、运算符、预处理等符号的含义了解标准固件函数库中的数据类型和函数命名规则了解RCC寄存器结构与RCC库函数掌握配置时钟的程序设计方法了解STM32工程文件结构本课件是可编辑的正常PPT课件主要内容3.1C语言知识简介3.1.1C语言关键字3.1.2运算符3.1.3预处理3.2STM32标准固件库3.2.1标准固件库中的数据类型3.2.2固件库命名规则3.2.3固件函数库文件描述3.3时钟控制3.3.1RCC寄存器结构3.3.2RCC库函数3.3.3时钟配置程序设计3.4STM32工程文件结构本课件是可编辑的正常PPT课件3.1C语言知识简介3.1.1C语言关键字3.1.2运算符3.1.3预处理本课件是可编辑的正常PPT课件3.1.1C语言关键字ANSIC标准C语言共有32个关键字,9种控制语句,区分大小写。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。auto:声明自动变量char:声明字符型变量或函数返回值类型const:声明只读变量double:声明双精度浮点型变量或函数返回值类型enum:声明枚举类型extern:声明变量或函数是在其它文件或本文件的其他位置定义float:声明浮点型变量或函数返回值类型int:声明整型变量或函数long:声明长整型变量或函数返回值类型本课件是可编辑的正常PPT课件关键字register:声明寄存器变量short:声明短整型变量或函数signed:声明有符号类型变量或函数sizeof:计算数据类型或变量长度(即所占字节数)static:声明静态变量struct:声明结构体类型typedef:用以给数据类型取别名unsigned:声明无符号类型变量或函数union:声明共用体类型volatile:说明变量在程序执行中可被隐含地改变本课件是可编辑的正常PPT课件关键字break:跳出当前循环case:开关语句分支continue:结束当前循环,开始下一轮循环default:开关语句中的“默认”分支do:循环语句的循环体else:条件语句否定分支(与if连用)for:一种循环语句goto:无条件跳转语句if:条件语句return:子程序返回语句(可以带参数,也可不带参数)switch:用于开关语句void:声明函数无返回值或无参数,声明无类型指针while:循环语句的循环条件
本课件是可编辑的正常PPT课件struct:声明结构体类型本课件是可编辑的正常PPT课件1.什么是结构体?结构体是一种工具,用这个工具可以定义自己的数据类型。结构体属于构造数据类型。2.结构体与数组的比较(1)都由多个元素组成(2)各个元素在内存中的存储空间是连续的(3)数组中各个元素的数据类型相同,而结构体中的各个元素的数据类型可以不相同本课件是可编辑的正常PPT课件例如//也可以用typedef创建新类型typedef
struct{
int
a;
char
b;
double
c;
}
Simple2;//可以用Simple2作为类型声明新的结构体变量Simple2
u1,
*u3;//给结构体成员赋值u1.a=1;u1.b=2;u3->a=3;u3->b=4;本课件是可编辑的正常PPT课件3.1.2运算符算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。关系运算符用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。逻辑运算符用于逻辑运算。包括与(&&)、或(||)、非(!)三种。位操作运算符参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。本课件是可编辑的正常PPT课件赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。条件运算符这是一个三目运算符,用于条件求值(?:)。逗号运算符用于把若干表达式组合成一个表达式(,)。指针运算符用于取内容(*)和取地址(&)二种运算。求字节数运算符用于计算数据类型所占的字节数(sizeof)。特殊运算符有括号(),下标[],成员(→,.)等几种。本课件是可编辑的正常PPT课件3.1.3预处理程序设计语言的预处理的概念:在编译之前进行的处理。C语言的预处理主要有三个方面的内容:1.宏定义;2.文件包含;3.条件编译。预处理命令以符号“#”开头。本课件是可编辑的正常PPT课件预处理
宏定义1.不带参数的宏定义:宏定义又称为宏代换、宏替换,简称“宏”。格式:#define标识符文本例如:
#definePI3.1415926把程序中全部的标识符PI换成3.14159262.带参数的宏:除了一般的字符串替换,还要做参数代换格式:#define
宏名(参数表)文本例如:#defineS(a,b)a*barea=S(3,2);第一步被换为area=a*b;,第二步被换为area=3*2;本课件是可编辑的正常PPT课件预处理
文件包含一个文件包含另一个文件的内容格式:#include"文件名"或#include<文件名>被包含的文件又被称为“标题文件”或“头部文件”、“头文件”,并且常用.h作扩展名。编译时以包含处理以后的文件为编译单位,被包含的文件是源文件的一部分。编译以后只得到一个目标文件.obj(.hex)本课件是可编辑的正常PPT课件预处理
条件编译有些语句希望在条件满足时才编译。格式:(1)#ifdef
标识符程序段1#else程序段2#endif或#ifdef标识符程序段1#endif当标识符已经定义时,程序段1才参加编译。本课件是可编辑的正常PPT课件预处理
条件编译格式:(2)#ifndef
标识符#define标识1程序段1#endif如果标识符没有被定义,则重定义标识1,且执行程序段1。本课件是可编辑的正常PPT课件3.2STM32标准固件库FWlib(firmwarelibrary)固件库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,无需深入掌握细节,用户也可以轻松应用每一个外设。因此,使用本固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API(applicationprogramminginterface应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。现在用的标准固件库版本是stm32固件库V3.5本课件是可编辑的正常PPT课件3.2.1标准固件库中的数据类型固态函数库定义了24个变量类型,它们的类型和大小是固定的。typedefsignedlongs32;typedefsignedshorts16;typedefsignedchars8;typedefsignedlongconstsc32;/*ReadOnly*/typedefsignedshortconstsc16;/*ReadOnly*/typedefsignedcharconstsc8;/*ReadOnly*/typedefvolatilesignedlongvs32;typedefvolatilesignedshortvs16;typedefvolatilesignedcharvs8;typedefvolatilesignedlongconstvsc32;/*ReadOnly*/typedefvolatilesignedshortconstvsc16;/*ReadOnly*/typedefvolatilesignedcharconstvsc8;/*ReadOnly*/本课件是可编辑的正常PPT课件typedefunsignedlongu32;typedefunsignedshortu16;typedefunsignedcharu8;typedefunsignedlongconstuc32;/*ReadOnly*/typedefunsignedshortconstuc16;/*ReadOnly*/typedefunsignedcharconstuc8;/*ReadOnly*/typedefvolatileunsignedlongvu32;typedefvolatileunsignedshortvu16;typedefvolatileunsignedcharvu8;typedefvolatileunsignedlongconstvuc32;/*ReadOnly*/typedefvolatileunsignedshortconstvuc16;/*ReadOnly*/typedefvolatileunsignedcharconstvuc8;/*ReadOnly*/本课件是可编辑的正常PPT课件布尔形变量在文件stm32f10x_type.h中,布尔形变量被定义如下:typedefenum{ FALSE=0, TRUE=!FALSE}bool;本课件是可编辑的正常PPT课件标志位类型在文件stm32f10x_type.h中,定义标志位类型(FlagStatustype)的2个可能值为“设置”与“重置”(SETorRESET)。typedefenum{ RESET=0, SET=!RESET}FlagStatus;本课件是可编辑的正常PPT课件功能状态类型在文件stm32f10x_type.h中,定义了功能状态类型(FunctionalStatetype)的2个可能值为“使能”与“失能”(ENABLEorDISABLE)。typedefenum{ DISABLE=0, ENABLE=!DISABLE}FunctionalState;本课件是可编辑的正常PPT课件错误状态类型在文件stm32f10x_type.h中,定义了错误状态类型(ErrorStatustype)的2个可能值为“成功”与“出错”(SUCCESSorERROR)。typedefenum{ ERROR=0, SUCCESS=!ERROR}ErrorStatus;本课件是可编辑的正常PPT课件3.2.2固件库命名规则系统、源程序文件和头文件命名都以“stm32f10x_”作为开头,例如:stm32f10x_conf.h。外设函数的命名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大写书写,例如:SPI_SendData在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。名为PPP_Init的函数,其功能是根据PPP_InitTypeDef中指定的参数,初始化外设PPP。名为PPP_StructInit的函数,其功能为通过设置PPP_InitTypeDef结构中的各种参数来定义外设的功能,
例如:USART_StructInit名为PPP_Cmd的函数,其功能为使能或者失能外设PPP,例如:SPI_Cmd.本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件外设缩写PPP表示任一外设缩写,例如:ADC。ADC模数转换器BKP备份寄存器CAN控制器局域网模块DMA直接内存存取控制器EXTI外部中断事件控制器FLASH闪存存储器GPIO通用输入输出I2C内部集成电路本课件是可编辑的正常PPT课件IWDG独立看门狗NVIC嵌套中断向量列表控制器PWR电源/功耗控制RCC复位与时钟控制器RTC实时时钟SPI串行外设接口SysTick系统嘀嗒定时器TIM通用定时器TIM1高级控制定时器USART通用同步异步接收发射端WWDG窗口看门狗本课件是可编辑的正常PPT课件3.2.3固件函数库文件描述main.c----主函数体示例。stm32f10x_it.h----头文件,包含所有中断处理函数原形stm32f10x_it.c----外设中断函数文件。用户可以加入自己的中断程序代码。对于指向同一个中断向量的多个不同中断请求,可以利用函数通过判断外设的中断标志位来确定准确的中断源。固件函数库提供了这些函数的名称。stm32f10x_ppp.c----由C语言编写的外设PPP的驱动源程序文件。stm32f10x_ppp.h----外设PPP的头文件。包含外设PPP函数的定义,和这些函数使用的变量。本课件是可编辑的正常PPT课件3.3时钟控制在STM32中,有五个时钟源:HSI、HSE、LSI、LSE、PLL。①HSI是高速内部时钟,RC振荡器,频率为8MHz。②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③LSI是低速内部时钟,RC振荡器,频率为40kHz。④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件3.3.1RCC寄存器结构时钟配置是与RCC寄存器密切联系的,RCC寄存器(10个)本课件是可编辑的正常PPT课件RCC寄存器结构在文件“stm32f10x_map.h”中,RCC_TypeDef定义如下:typedefstruct{vu32CR;vu32CFGR;vu32CIR;vu32APB2RSTR;vu32APB1RSTR;vu32AHBENR;vu32APB2ENR;vu32APB1ENR;vu32BDCR;vu32CSR;}RCC_TypeDef;本课件是可编辑的正常PPT课件RCC外设声明如下:#ifdef_RCCEXTRCC_TypeDef*RCC;#endif例如,若要使能外设GPIOC时钟,可以直接给寄存器APB2ENR的D4位“置1”实现。RCC->APB2ENR=0x01<<4;本课件是可编辑的正常PPT课件3.3.2RCC库函数本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件函数RCC_DeInit
本课件是可编辑的正常PPT课件函数RCC_HSEConfig本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件函数RCC_WaitForHSEStartUp本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件函数RCC_HCLKConfig本课件是可编辑的正常PPT课件RCC_HCLK值本课件是可编辑的正常PPT课件函数RCC_PCLK2Config本课件是可编辑的正常PPT课件RCC_PCLK2值本课件是可编辑的正常PPT课件函数RCC_PCLK1Config本课件是可编辑的正常PPT课件RCC_PCLK1值本课件是可编辑的正常PPT课件函数FLASH_SetLatency本课件是可编辑的正常PPT课件FLASH_Latency值本课件是可编辑的正常PPT课件函数FLASH_PrefetchBufferCmd本课件是可编辑的正常PPT课件例:/*EnableThePrefetchBuffer*/FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);本课件是可编辑的正常PPT课件函数RCC_PLLConfig本课件是可编辑的正常PPT课件RCC_PLLSource值本课件是可编辑的正常PPT课件RCC_PLLMul值(2—16倍)本课件是可编辑的正常PPT课件警告:必须正确设置软件,使PLL输出时钟频率不超过72MHz本课件是可编辑的正常PPT课件函数RCC_PLLCmd
本课件是可编辑的正常PPT课件函数RCC_GetFlagStatus本课件是可编辑的正常PPT课件RCC_FLAG值本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件函数RCC_SYSCLKConfig本课件是可编辑的正常PPT课件RCC_SYSCLKSource
本课件是可编辑的正常PPT课件函数RCC_GetSYSCLKSource本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件函数RCC_APB2PeriphClockCmd
本课件是可编辑的正常PPT课件RCC_AHB2Periph值本课件是可编辑的正常PPT课件例如:使能GPIOA和GPIOB时钟
/*EnableGPIOA,GPIOBclocks*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);本课件是可编辑的正常PPT课件3.3.3时钟配置程序设计STM32程序的一般结构:包含头文件定义变量函数声明主函数初始化时钟配置系统时钟使能外设时钟初始化外设控制程序 子函数1子函数2…… 本课件是可编辑的正常PPT课件使用HSE时钟,程序设置时钟参数流程1)将RCC寄存器重新设置为默认值
RCC_DeInit;2)打开外部高速时钟晶振HSE
RCC_HSEConfig(RCC_HSE_ON);3)等待外部高速时钟晶振工作
HSEStartUpStatus=RCC_WaitForHSEStartUp();4)设置AHB时钟
RCC_HCLKConfig;5)设置高速AHB时钟
RCC_PCLK2Config;6)设置低速AHB时钟
RCC_PCLK1Config;7)设置PLL
RCC_PLLConfig;8)打开PLL
RCC_PLLCmd(ENABLE);9)等待PLL工作
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)10)设置系统时钟
RCC_SYSCLKConfig;11)判断是否PLL是系统时钟
while(RCC_GetSYSCLKSource()!=0x08)12)打开要使用的外设时钟
RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()本课件是可编辑的正常PPT课件系统时钟初始化函数的实现下面是STM32软件固件库的程序中对RCC的配置函数(使用外部8MHz晶振):voidRCC_Configuration(void)
{/*将外设RCC寄存器重设为缺省值*/ RCC_DeInit();
/*设置外部高速晶振(HSE)*/ RCC_HSEConfig(RCC_HSE_ON);//RCC_HSE_ON,HSE晶振打开(ON)/*等待HSE起振*/ HSEStartUpStatus=RCC_WaitForHSEStartUp();
if(HSEStartUpStatus==SUCCESS)
//SUCCESS:HSE晶振稳定且就绪{/*设置AHB时钟(HCLK)*/ RCC_HCLKConfig(RCC_SYSCLK_Div1);//RCC_SYSCLK_Div1——AHB时钟=系统时钟
/*设置高速AHB时钟(PCLK2)*/ RCC_PCLK2Config(RCC_HCLK_Div1);//RCC_HCLK_Div1——APB2时钟=HCLK本课件是可编辑的正常PPT课件/*设置低速AHB时钟(PCLK1)*/RCC_PCLK1Config(RCC_HCLK_Div2);
//RCC_HCLK_Div2——APB1时钟=HCLK/2/*设置FLASH存储器延时时钟周期数*/FLASH_SetLatency(FLASH_Latency_2);
//FLASH_Latency_2,2延时周期/*选择FLASH预取指缓存的模式,预取指缓存使能*/
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);/*设置PLL时钟源及倍频系数*/
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLL的输入时钟=HSE时钟频率RCC_PLLMul_9,PLL输入时钟x9/*使能PLL*/RCC_PLLCmd(ENABLE);/*检查指定的RCC标志位(PLL准备好标志)设置与否*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
{}/*设置系统时钟(SYSCLK)*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
本课件是可编辑的正常PPT课件//RCC_SYSCLKSource_PLLCLK—选择PLL作为系统时钟
/*PLL返回用作系统时钟的时钟源*/while(RCC_GetSYSCLKSource()!=0x08)
//0x08:PLL作为系统时钟
{}}
/*使能或者失能APB2外设时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);//RCC_APB2Periph_GPIOAGPIOA时钟
//RCC_APB2Periph_GPIOBGPIOB时钟
//RCC_APB2Periph_GPIOCGPIOC时钟
//RCC_APB2Periph_GPIODGPIOD时钟}
本课件是可编辑的正常PPT课件3.4STM32工程文件结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西软件职业技术大学《工程力学(下)》2023-2024学年第二学期期末试卷
- 南通科技职业学院《经济法学A》2023-2024学年第二学期期末试卷
- 合肥职业技术学院《数字信号处理与通信》2023-2024学年第二学期期末试卷
- 2024-2025学年湖北省部分省级示范高中高二上学期期中测试历史试卷
- 江西工程学院《环境评价》2023-2024学年第二学期期末试卷
- 六盘水幼儿师范高等专科学校《民族与文化地理》2023-2024学年第二学期期末试卷
- 信阳涉外职业技术学院《数字逻辑电路综合》2023-2024学年第二学期期末试卷
- 昆山登云科技职业学院《专业技能训练化学教学技能与训练含》2023-2024学年第二学期期末试卷
- 湖南劳动人事职业学院《建筑给排水与消防》2023-2024学年第二学期期末试卷
- 广州华商职业学院《剧目》2023-2024学年第二学期期末试卷
- 部编版三年级下册语文第一单元教材解读PPT课件
- 【2022】154号文附件一:《江苏省建设工程费用定额》(2022年)营改增后调整内容[10页]
- 二年级剪窗花
- 分子生物学在医药中的研究进展及应用
- 《对折剪纸》)ppt
- 03SG520-1实腹式钢吊车梁(中轻级工作制A1~A5_Q235钢_跨度6.0m、7.5m、9.0m)
- 以虚报注册资本、虚假出资、抽逃出资为由对实行认缴资本登记制的公司进行处罚无法律依据
- 风电场生产运营准备大纲11.14
- 人教版八年级语文下册教材研说
- 《机械制造装备设计》ppt课件
- 中学家访记录大全100篇 关于中学家访随笔
评论
0/150
提交评论