版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
初识嵌入式系统全套可编辑PPT课件01020304嵌入式系统介绍嵌入式常见处理器介绍ARM处理器介绍STM32特性介绍嵌入式系统介绍01嵌入式系统组成嵌入式系统定义嵌入式系统特点嵌入式系统应用领域嵌入式系统介绍|
定义01全国现状IEEE的嵌入式系统定义:根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是”控制、监视或者辅助设备、机器和车间运行的装置”国内的嵌入式系统定义:国内普遍被认同的定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。5嵌入式系统介绍|
定义01全国现状嵌入式系统举例:小米手环红色:Dialog-DA14681-蓝牙内部嵌入32-bitARMCortexM0内核绿色:STMicroelectronics加速度传感器青色:Gigadevice-GD25LQ32-Flash芯片蓝色:NXP-PN80T-NFC控制芯片橙色:TI-TPS61046-电压转换芯片(升压)紫色:Azoteq-IQS266-触摸控制芯片深绿:SGMICRO=Flash芯片棕色:ONSemi-ESD7383-电源保护芯片(3颗)6嵌入式系统介绍|
定义01iphone
X第一块主板iphone
X主板上的芯片包括:红色:苹果APL1W72A11仿生SoC,(上边覆盖SK海力士H9HKNNDBMAUUR3GBLPDDR4X内存)橙色:苹果338S00341-B1电源管理IC黄色:德州仪器78AVZ81电池充电IC绿色:恩智浦1612A1USB充电器IC浅蓝:苹果338S00248音频解码器蓝色:STB600B0人脸识别IC面部识别系统芯片粉色:苹果338S00306相机IC7嵌入式系统介绍|
定义01全国现状iphone
X第二块主板红色:苹果USI170821339S00397Wi-Fi/蓝牙无线模块橙色:高通WTR5975千兆LTE收发器黄色:高通MDM9655骁龙x16LTE基带、PMD9655电源管理IC绿色:Skyworks78140-22/SKY77366-17功率放大器青色:博通BCM15951触摸控制器蓝色:NXP80V18PN80VNFC控制器紫色:博通AFEM-8072\MMMB功率放大器8嵌入式系统介绍|
定义01全国现状iphone
X第三块主板红色:东芝TSB3234X68354TWNA164GB闪存橙色:苹果/CirrusLogic338S00296音频放大器9嵌入式系统介绍|
组成01全国现状嵌入式系统一般指嵌入式计算机系统,主要包括:硬件层、中间层、系统软件层和应用层4部分10嵌入式系统介绍|
组成01硬件层组成:嵌入式系统硬件通常指除被控对象之外的嵌入式系统要完成其功能所具备的各种设备。由嵌入式处理器、存储器系统、通用设备接口(A/DD/AI/O等)和一些扩展外设组成。嵌入式计算机正常运行的最小系统:如电源、系统时钟、复位电路、存储器11嵌入式系统介绍|
组成01全国现状1、为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。硬件层组成-CACHE12嵌入式系统介绍|
组成01介于硬件层与系统软件层之间,将硬件的细节进行屏蔽,便于操作系统调用,因此称为中间层,也称硬件抽象层(HardwareAbstractLayer,HAL)或板级支持(BoardSupportPackage)。具有硬件相关性和操作系统相关性特点。中间层板级支持包的主要功能包括两部分:➢在系统启动时,对硬件进行初始化➢为驱动程序提供访问硬件的手段13嵌入式系统介绍|
组成01全国现状1.OS(操作系统)是嵌入式应用软件的基础和开发平台2.FS(文件系统)是操作系统用于实现磁盘或分区上的文件的软件实现。3.GUI(图形用户接口)通俗说就是屏幕产品的视觉体验和互动操作部分。4.应用程序:运行在OS之上,实现特定功能的程序,像手机上的QQ,微信…..。系统软件层14嵌入式系统介绍|
特点01全国现状(1)系统内核小
由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。嵌入式系统有几个重要特点(2)专用性强嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。(3)系统精简嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。15嵌入式系统介绍|
特点01全国现状(4)高实时性高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。。嵌入式系统有几个重要特点(5)多任务的操作系统嵌入式系统的程序可以没有操作系统而直接在芯片上运行;但是给嵌入式系统搭载上操作系统可以充分利用系统资源、系统函数以及专用库函数接口,让程序的实时性、可靠性更高,并减少开发时间(6)需要交叉开发环境交叉开发环境是指实现编译、链接和调试应用程序代码的环境。与运行应用程序的环境不同,它分散在有通信连接的宿主机与目标机环境之中。➢宿主机(Host)是一台通用计算机,一般是PC机。它通过串口/专用仿真下载器或网络连接与目标机通信。➢目标机(Target)可以是嵌入式应用软件的实际运行环境,也可以是能替代实际环境的仿真系统。16嵌入式系统介绍|
应用领域01全国现状简单说(泛嵌入式):除PC之外的一切计算机系统都可以叫嵌入式系统。典型代表:智能手机、工业机器人、汽车电子、航空航天(四轴飞行器)、安防监控(IPC)等。17嵌入式常见处理器介绍02嵌入式处理器体系结构嵌入式处理器概述嵌入式处理器分类嵌入式处理器发展方向嵌入式常见处理器介绍|
概述02嵌入式处理器现状:品种繁多,结构各异,参差不齐19嵌入式常见处理器介绍|
分类02嵌入式系统分类◆嵌入式微控制器(MicroControllerUnit,MCU)◆嵌入式微处理器(MicroProcessorUnit,MPU)◆嵌入式DSP处理器(DigitalSignalProcessor,DSP)◆嵌入式片上系统(SystemOnChip,SOC)20嵌入式常见处理器介绍|
分类02◆微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。◆微控制器芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。◆嵌入式微控制器的典型代表是单片机,这种8/16/32位的电子器件目前在嵌入式设备中有着极其广泛的应用。嵌入式微控制器(MCU)21嵌入式常见处理器介绍|
分类02和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高,功能丰富的优点。主要嵌入式微处理器类型ARM、MIPS、PowerPC、68K系列等◆ARM:(AdvancedRISCMachines)RISC(ReducedInstructionSetComputer)◆MIPS:MicroprocessorwithoutInterlockedPipelineStages(NOTMillionInstructionsPerSecond)◆PowerPC:早期Motorola和IBM联合◆68K:Motorola,较早的一款嵌入式处理器嵌入式微处理器(MPU)22嵌入式常见处理器介绍|
分类02◆DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、频谱分析等各种仪器上DSP获得了大规模的应用。◆DSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。1982年世界上诞生了首枚DSP芯片。◆DSP在语音合成和编码解码器中得到了广泛应用。◆目前DSP的运算速度越来越高,应用领域扩大到通信和计算机方面。◆常见的DSP处理器是TI的TMS320C2000/C5000系列。嵌入式DSP处理器(DSP)23嵌入式常见处理器介绍|
分类02◆SoC就是SystemonChip,SoC微处理器就是一种电路系统。◆它结合了许多功能区块,将功能做在一个芯片上,像是ARMRISC、MIPSRISC、DSP或是其他的微处理器核心,加上通信的接口单元,像是通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。嵌入式片上系统(SoC)24嵌入式常见处理器介绍|
体系结构021.冯·诺依曼体系结构和哈佛体系结构2.CISC与RISC3.信息存储的字节顺序4.流水线嵌入式微处理器体系结构25嵌入式常见处理器介绍|
体系结构02冯·诺依曼结构:单一存储、统一编址、分时复用冯·诺依曼结构26嵌入式常见处理器介绍|
体系结构02哈佛结构:分开存储、独立编址、两倍带宽、效率更高哈佛结构27嵌入式常见处理器介绍|
体系结构02CISC:复杂指令集(ComplexInstructionSetComputer)1.为增强指令功能,设置一些功能复杂的指令,把一些原来由软件实现的常用的功能改用硬件的(微程序)指令系统来实现,形成了拥有大量的指令和多种寻址方式的复杂但使用效率不高的指令系统2.8/2原则:80%的程序只使用20%的指令按指令集CISC和RISC分类RISC:精简指令集(ReducedInstructionSetComputer)设计重点是降低由硬件执行的指令的复杂性,从而减少指令的种类,只提供简单的操作,单周期内完成,且指令长度固定。28嵌入式常见处理器介绍|
体系结构02强调硬件的复杂性优点:简化编译器的结构缺点:◆指令使用频度不均衡。高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。◆软硬功能分配处理器硬件复杂,指令执行周期大大加长,直接访存次数增多,降低了CPU性能。◆不利于先进指令级并行技术的采用,不利于采用流水线技术CISC的优缺点29嵌入式常见处理器介绍|
体系结构02CISC与RISC的对比30嵌入式常见处理器介绍|
体系结构02大端模式◆字数据的高位字节存储在低地址中◆字数据的低字节则存放在高地址中信息存储的字节顺序(32Bit)小端模式◆低地址中存放字数据的低字节◆高地址中存放字数据的高字节31嵌入式常见处理器介绍|
体系结构02信息存储的字节顺序(32Bit)32嵌入式常见处理器介绍|
体系结构02流水线技术33嵌入式常见处理器介绍|
体系结构02流水线技术:几个步骤可以并行执行提高了CPU的运行效率34嵌入式常见处理器介绍|
体系结构02以ARM7处理器为例子:为增加处理器指令流的速度,ARM7系列使用3级流水线.允许多个操作同时处理,比逐条指令执行要快。流水线技术说PC指向正被取指的指令,而非正在执行的指令35嵌入式常见处理器介绍|
发展方向02特点:➢支持实时多任务/进程操作系统➢处理器结构可扩展➢存储区保护功能强➢中断处理能力强➢低功耗发展方向:➢小体积➢高性能➢低功耗➢高集成度36ARM处理器介绍03
ARM处理器应用领域ARM简介
ARM系列处理器ARM处理器介绍|
ARM简介031.AMR:一个公司名2.ARM:一种处理器名称ARM处理器3.ARM:一种芯片架构,全称为AdvancedRISCMachinesIP核。ARM是什么?38ARM处理器介绍|
ARM简介03ARM架构•定义了指令集的细节、程序的模型、异常模型和内存映射•相关文档在ArchitectureReferenceManual(架构参考手册)中•/search#q=ARM%20Architecture%20Reference%20Manual%20ARM处理器•是用一种ARM架构开发出来的;•更多的实现细节,比如时序数据以及和实现相关的数据;•相关文档在处理器的TechnicalReferenceManual(技术参考手册)中/search#q=ARM%20Cortex%20Technical%20Reference%20ManualARM处理器VS.ARM架构39ARM处理器介绍|
ARM简介0340ARM处理器介绍|
ARM简介03ARM产业链41ARM处理器介绍|
ARM应用领域03嵌入式Internet应用42ARM处理器介绍|
ARM应用领域03•工业控制领域•无线通讯领域•网络应用•消费电子产品•成像和安全产品•……43ARM处理器介绍|
ARM系列处理器03•ARM7系列•ARM9系列•ARM9E系列•ARM10E系列•ARM11系列•SecurCore系列•Intel的StrongARM和Xscale系列旧版本ARM处理器分类
新版本ARM处理器分类
按指令集版本分类
•Cortex-A系列产品
•Cortex-R系列产品
•Cortex-M系列产品
•SecurCore系列产品
•ARMv4/5•ARMv6•ARMv7•ARMv844ARM处理器介绍|
ARM系列处理器03•Cortex-A系列(应用)•用于开放操作系统的高性能处理器;•应用产品包括手机、数字电视、电子书和家庭网关等;•Cortex-R系列(实时)•对于实时应用有杰出的性能;•应用产品包括汽车刹车系统、动力传动系统等;•Cortex-M系列(单片机)•对确定性的单片机应用的成本敏感型解决方案;•应用于单片机,混合信号器件,智能传感器,
汽车电子系统和安全气囊;•SecurCore系列•高安全性应用新版本ARM处理器家族45ARM处理器介绍|
ARM系列处理器03•Cortex-A系列:Cortex-A5,A7,A8,A9,A12,A15,A17,A53,A57•高性能应用程序处理器•运行多种操作系统,多核技术,32位和64位支持•应用•移动计算:上网本,平板电脑,电子书•移动手持终端:智能手机,功能手机,可穿戴设备•数字家庭:机顶盒,数字电视,蓝光播放器,游戏机•汽车:娱乐,导航•企业:工业打印机,路由器,无线基站,互联网协议电话和设备•无线设施Cortex-A系列更详细的信息:/ip-products/processors/cortex-a46ARM处理器介绍|
ARM系列处理器03•实时处理器•高性能:高时钟频率带来的快速处理能力•实时:满足各种场合的高实时性能要求•安全性:强抗误差的可靠,可信赖的系统•成本效率:最优性能,功率和面积.•应用•汽车安全气囊,制动系统,稳定系统,仪表,引擎管理•存储硬盘驱动器控制器,固态硬盘控制器•移动手持设备3G,4G,LTE,WiMax智能手机和基带调制解调器•嵌入式系统,企业,家庭,相机…Cortex-R系列:Cortex-R4,R5,R7,R8,R5247ARM处理器介绍|
ARM系列处理器03•低功耗处理器用于嵌入式单片机应用系统•高能效•代码更小•易于使用•嵌入式应用•智能仪表、人机接口设备、汽车和工业控制系统、白色商品、消费产品和医疗仪器。Cortex-M系列:Cortex-M0,M0+,M1,M3,M4,M7更详细类型/ipproducts/processors/cortex-m48ARM处理器介绍|
ARM系列处理器0349ARM处理器介绍|
ARM系列处理器03◼ARMCortex系列处理器应用示例50STM32特性介绍04STM32-F1架构性能产品介绍51STM32特性介绍|
产品介绍04意法半导体(STMicroelectronics)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSONMicroelectronics将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至今,ST的增长速度超过了半导体工业的整体增长速度。自1999年起,ST始终是世界十大半导体公司之一。据最新的工业统计数据,意法半导体(STMicroelectronics)是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列。52STM32特性介绍|
产品介绍04在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。截至2010年7月1日,市面流通的型号有:基本型:STM32F101R6、STM32F101C8、STM32F101R8、STM32F101V8、STM32F101RB、STM32F101VB增强型:STM32F103C8、STM32F103R8、STM32F103V8、STM32F103RB、STM32F103VB、STM32F103VE、STM32F103ZE53STM32特性介绍|
产品介绍04STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下54STM32特性介绍|
STM32-F104•一流的外设1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度•低功耗在72MHz时消耗36mA(所有外设处于工作状态),待机时下降到2μA•最大的集成度复位电路、低电压检测、调压器、精确的RC振荡器等•简单的结构和易用的工具•2.0V-3.6V供电•兼容5V的I/O管脚•优异的安全时钟模式•带唤醒功能的低功耗模式•内部RC振荡器•内嵌复位电路•工作温度范围:-40°C至+85°C或105°CARM公司的高性能”Cortex-M3”内核55STM32特性介绍|
STM32-F104内核:
ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。存储器:
片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHzRC振荡电路。内部40kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。低功耗:
3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。调试模式:
串行调试(SWD)和JTAG接口。DMA:
12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。STM32F103性能56STM32特性介绍|
STM32-F1043个12位的us级的A/D转换器(16通道):
A/D测量范围:0-3.6V。双采样和保持能力。片上集成一个温度传感器。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接口(SMBus/PMBus)。5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。3个SPI接口(18Mbit/s),两个和IIS复用。CAN接口(2.0B)。USB2.0全速接口。SDIO接口。ECOPACK封装:
STM32F103xx系列微控制器采用ECOPACK封装形式。STM32F103性能57STM32特性介绍|
STM32-F1041、集成嵌入式Flash和SRAM存储器的ARMCortex-M3内核和8/16位设备相比,ARMCortex-M332位RISC处理器提供了更高的代码效率。STM32F103xx微控制器带有一个嵌入式的ARM核,所以可以兼容所有的ARM工具和软件。2、嵌入式Flash存储器和RAM存储器内置多达512KB的嵌入式Flash,可用于存储程序和数据。多达64KB的嵌入式SRAM可以以CPU的时钟速度进行读写(不待等待状态)。3、可变静态存储器(FSMC)FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,带有4个片选,支持四种模式:Flash,RAM,PSRAM,NOR和NAND。3个FSMC中断线经过OR后连接到NVIC。没有读/写FIFO,除PCCARD之外,代码都是从外部存储器执行,不支持Boot,目标频率等于SYSCLK/2,所以当系统时钟是72MHz时,外部访问按照36MHz进行。系统作用58STM32特性介绍|
STM32-F1044、嵌套矢量中断控制器(NVIC)
可以处理43个可屏蔽中断通道(不包括Cortex-M3的16根中断线),提供16个中断优先级。紧密耦合的NVIC实现了更低的中断处理延迟,直接向内核传递中断入口向量表地址,紧密耦合的NVIC内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令干预。5、外部中断/事件控制器(EXTI)
外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2时钟周期的脉冲时,EXTI能够探测到。多达112个GPIO连接到16个外部中断线。系统作用59STM32特性介绍|
STM32-F1046、时钟和启动
在启动的时候还是要进行系统时钟选择,但复位的时候内部8MHz的晶振被选用作CPU时钟。可以选择一个外部的4-16MHz的时钟,并且会被监视来判定是否成功。在这期间,控制器被禁止并且软件中断管理也随后被禁止。同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。多个预比较器可以用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的频率为72MHz,低速APB最高的频率为36MHz。7、Boot模式
在启动的时候,Boot引脚被用来在3种Boot选项种选择一种:从用户Flash导入,从系统存储器导入,从SRAM导入。Boot导入程序位于系统存储器,用于通过USART1重新对Flash存储器编程。系统作用60STM32特性介绍|
STM32-F1048、电源供电方案
VDD,电压范围为2.0V-3.6V,外部电源通过VDD引脚提供,用于I/O和内部调压器。VSSA和VDDA,电压范围为2.0-3.6V,外部模拟电压输入,用于ADC,复位模块,RC和PLL,在VDD范围之内(ADC被限制在2.4V),VSSA和VDDA必须相应连接到VSS和VDD。VBAT,电压范围为1.8-3.6V,当VDD无效时为RTC,外部32KHz晶振和备份寄存器供电(通过电源切换实现)。9、电源管理
设备有一个完整的上电复位(POR)和掉电复位(PDR)电路。这条电路一直有效,用于确保从2V启动或者掉到2V的时候进行一些必要的操作。当VDD低于一个特定的下限VPOR/PDR时,不需要外部复位电路,设备也可以保持在复位模式。设备特有一个嵌入的可编程电压探测器(PVD),PVD用于检测VDD,并且和VPVD限值比较,当VDD低于VPVD或者VDD大于VPVD时会产生一个中断。中断服务程序可以产生一个警告信息或者将MCU置为一个安全状态。PVD由软件使能。系统作用61STM32特性介绍|
STM32-F10410、电压调节
调压器有3种运行模式:主(MR),低功耗(LPR)和掉电。MR用在传统意义上的调节模式(运行模式),LPR用在停止模式,掉电用在待机模式:调压器输出为高阻,核心电路掉电,包括零消耗(寄存器和SRAM的内容不会丢失)。11、低功耗模式
STM32F103xx支持3种低功耗模式,从而在低功耗,短启动时间和可用唤醒源之间达到一个最好的平衡点。休眠模式:只有CPU停止工作,所有外设继续运行,在中断/事件发生时唤醒CPU;停止模式:允许以最小的功耗来保持SRAM和寄存器的内容。1.8V区域的时钟都停止,PLL,HSI和HSERC振荡器被禁能,调压器也被置为正常或者低功耗模式。设备可以通过外部中断线从停止模式唤醒。外部中断源可以使16个外部中断线之一,PVD输出或者TRC警告。待机模式:追求最少的功耗,内部调压器被关闭,这样1.8V区域断电。PLL,HSI和HSERC振荡器也被关闭。在进入待机模式之后,除了备份寄存器和待机电路,SRAM和寄存器的内容也会丢失。当外部复位(NRST引脚),IWDG复位,WKUP引脚出现上升沿或者TRC警告发生时,设备退出待机模式。进入停止模式或者待机模式时,TRC,IWDG和相关的时钟源不会停止。系统作用62STM32特性介绍|
架构性能04除新增的功能强化型外设接口外,STM32互连系列还提供与其它STM32微控制器相同的标准接口,这种外设共用性提升了整个产品家族的应用灵活性,使开发人员可以在多个设计中重复使用同一个软件。新STM32的标准外设包括10个定时器、两个12位1-Msample/s模数转换器(交错模式下2-Msample/s)、两个12位数模转换器、两个I2C接口、五个USART接口和三个SPI端口。新产品外设共有12条DMA通道,还有一个CRC计算单元,像其它STM32微控制器一样,支持96位唯一标识码。新系列微控制器还沿续了STM32产品家族的低电压和节能两大优点。2.0V到3.6V的工作电压范围兼容主流的电池技术,如锂电池和镍氢电池,封装还设有一个电池工作模式专用引脚Vbat。以72MHz频率从闪存执行代码,仅消耗27mA电流。低功耗模式共有四种,可将电流消耗降至两微安。从低功耗模式快速启动也同样节省电能;启动电路使用STM32内部生成的8MHz信号,将微控制器从停止模式唤醒用时小于6微秒。环境搭建及工具使用01020304Keil5软件安装STM32F1系列芯片支持包安装ST-link驱动安装串口驱动安装0工程的建立01Keil5软件安装MDK破解MDK安装Keil5软件安装|
MDK安装01全国现状Keil软件可以在keil官网/进行下载安装。Keil5软件安装|
MDK安装01全国现状在M3PPT\STM32环境搭建\软件资料路径下可以找到keil编译软件.rar压缩包,解压缩后打开文件夹,文件夹内容如下:01全国现状找到mdk528a.exe文件,双击打开。Keil5软件安装|
MDK安装点击是进入安装程序。01全国现状点击Next>>Keil5软件安装|
MDK安装01全国现状勾选Iagree…,然后点击Next>>Keil5软件安装|
MDK安装01全国现状点击Browse...选择软件存储路径。注意:这里一定不能有中文或中文字符!不要放在系统盘!点击Next>>Keil5软件安装|
MDK安装01全国现状这里填写的是使用者的信息,内容任意,但不要填中文或中文字符。点击Next>>Keil5软件安装|
MDK安装01全国现状软件开始安装,等待程序安装进度条全满后点击Next>>(可能不需要点击就会直接跳到下一个界面)Keil5软件安装|
MDK安装01全国现状点击FinishKeil5软件安装|
MDK安装01全国现状直接关闭界面。Keil5软件安装|
MDK安装01全国现状关闭界面后发现桌面上出现软件图标Keil5软件安装|
MDK破解01全国现状接下来开始正式破解:首先将软件以管理员身份运行(很重要!!)Keil5软件安装|
MDK破解01全国现状软件打开以后,选择file,选择LicenseManagement...Keil5软件安装|
MDK破解01全国现状复制ComputerID。Keil5软件安装|
MDK破解01全国现状打开压缩文件下的keygen_new2032.exeKeil5软件安装|
MDK破解01全国现状打开注册机后,首先将Target选项选为ARM,将下方2位置选成StandardCortex-Monly,将刚刚复制的ComputerID(CID)粘贴到左边CID位置,点击Generate,在5位置会出现针对CID的注册码,将注册码复制一下。Keil5软件安装|
MDK破解01全国现状将复制的注册码粘贴到下方NewLicenseIDCode(LIC),Add
LIC按钮会由灰变黑,点击AddLIC,注册列表出现注册信息(红框内容)表示注册成功。Keil5软件安装|
MDK破解02STM32F1系列芯片支持包安装STM32F1系列芯片支持包安装02Keil软件安装好之后,软件内部只有ARM的程序支持包,如果想使用keil软件编译STM32F1系列芯片的程序,我们还需要给软件安装一个STM32F1系列芯片支持包。打开压缩文件,打开.Download文件夹。STM32F1系列芯片支持包安装02双击Keil.STM32F1xx_DFP.2.1.0.pack文件,开始安装。03ST-link驱动安装ST-link驱动安装03单片机所使用的程序在keil软件中被编写出来,当程序被编译器检查没有错误之后我们需要把程序下载到实体STM32芯片中进行实际功能验证。本次课程我们使用ST-link下载器作为PC与单片机的程序下载通道。ST-link驱动安装03在连接下载器之前,我们需要先给电脑安装下载器驱动。打开压缩文件,找到文件ST-Link驱动。(win10系统)ST-link驱动安装03打开路径\keil编译软件\ST-LINK驱动\win10\STLINK_V2(win10)\ST-LINK_V2找到文件dpinst_amd64.exe,双击打开。ST-link驱动安装03遇到下图所示提示时点击是。ST-link驱动安装03点击下一步。ST-link驱动安装03点击安装。ST-link驱动安装03点击完成,ST-Link下载驱动就安装成功了。04串口驱动安装串口驱动安装04由于串口通信在本次课程中比较重要,且后期调试大多需要使用串口助手,所以我们需要提前将串口驱动安装好。打开压缩文件,找到CH340的驱动文件夹,双击打开。串口驱动安装04找到CH341SER.EXE文件,双击打开。串口驱动安装04遇到如下提示信息请点击是。串口驱动安装04遇到如下提示信息请点击INSTALL。(如果安装完成,再次点击INSTALL会显示安装失败,这是因为电脑上已经安装好驱动文件了)05工程的建立库函数编程STM32常见编程方法库函数编程方法|
STM32常见编程方法05全国现状STM32作为现阶段市场上主流的嵌入式芯片,也具有多种程序编写方法:寄存器编程:通过直接对寄存器进行操作,实现对设备的控制操作,寄存器程序中以一个结构体的形式表示。这种编程方法需要通过查阅手册来确定操作的寄存器以及寄存器中写入的数值,然后需要查看工程使用的相关头文件(如:stm32f103xx芯片使用的<stm32f10x.h>)确定工程中寄存器所对应的成员名。标准库编程:为了方便用户编程,ST官方提供的标准库函数,用户可以直接调用库函数进行编程。编程过程中,对于STM32的片上外设的操作,用户不需要直接操作寄存器,只需要调用相关的库函数即可。HAL库编程:为了能够快速编程,ST官方还提供HAL库编程方法,ST官方提供一个名为CubeMX的代码生成软件,用户对于ST的片上外设的相关操作,只需要在CubeMX软件中进行设置,即可生成代码。库函数编程方法|库函数编程05全国现状本课程使用标准库编程进行教学。库函数编程与寄存器编程的比较:库函数编程的本质其实还是对寄存器进行读写操作(外设的控制要通过寄存器进行控制),但是对寄存器的具体操作过程用户不需要知道,用户只需要知道库函数的功能和使用方法即可,就像我们使用手机,我们只需要知道手机可以打电话、发短信、上网、聊天等以及这些功能的使用方法,至于这些功能是如何实现的我们不需要知道。寄存器编程就要用户对其中的具体过程进行操作设置。库函数的编程过程如右图所示,用户需要编写的是主程序以及外设程序,外设程序中调用库函数,由库函数实现对外设寄存器的操作。库函数编程方法|库函数编程05现状寄存器编程与库函数编程实例对比:库函数编程实例寄存器编程实例资料准备|
资料下载05全国现状在工程建立前,我们需要准备一些必要资料,包括标准库函数文件、STM32启动文件以及M4内核文件等等,这些资料都可以在ST官方网站()下载。资料准备|
资料下载02全国现状按照顺序依次序选择:Tools&Software(软件工具)EmbeddedSoftware(嵌入式软件)STM32EmbeddedSoftware(STM32嵌入式软件)。资料准备|
资料下载05全国现状按照顺序依次序选择:STM32EmbeddedSoftware(STM32嵌入式软件)STM32StandardPeripheralLibraries(STM32标准外设库)。资料准备|
资料下载05全国现状根据所使用的芯片进行选择,课程所使用的芯片型号是:STM32F103ZET6,因此需要选择F1系列进行下载。资料准备|
资料准备05全国现状点击GetSoftware获取资料。资料准备|
资料准备05全国现状资料准备|
资料准备05全国现状填写个人资料,然后点击Download进行下载,注意邮箱地址务必保证准确,资料是发到邮箱的,之后需要在邮箱中进行下载。资料准备|
资料准备05全国现状在邮箱中下载资料。资料准备|
资料准备05全国现状下载的文件是一个名为en.stsw-stm32054的压缩包文件,解压之后就能得到我们需要的标准库函数文件资料准备|
资料文件说明05全国现状资料文件目录如下:_htmresc:图片文件,给Release_Notes.html文件显示用的,对我们没什么用处。Libraries:库函数的源文件,这个目录下的文件就是我们要使用的。Project:标准外设库驱动的完整例程。Utilities:用于STM32评估板的专用驱动。Stm32f10x_stdperiph_lib_um.chm:库函数使用的帮助文档。资料准备|
资料文件说明05全国现状关键目录介绍:CMSIS:存放启动文件STM32F10x_StdPeriph_Driver:存放STM32标准固件库函数源码文件,其中有inc子目录存放stm32f10x_xxx.h头文件,src子目录存放stm32f10x_xxx.c源文件,每一个stm32f10x_xxx.h和stm32f10x_xxx.c为一组文件,每组文件对应一个片上外设,例如:stm32f10x_gpio.h和stm32f10x_gpio.c对应为GPIO的相关源代码文件。资料准备|
资料文件说明05ARM是一家做芯片标准的公司,他们负责的是芯片内核的架构设计,而像ST、三星他们则是根据ARM公司的提供的内核标准设计自己的芯片。所以,任何一个Cortex-M3芯片,其内核结构都是一样的,区别在于他们的存储器容量,片上外设,IO以及其他模块。ARM公司为了能让不同的芯片公司生产的Cortex-M3芯片能在软件上基本兼容,与芯片生产商共同提出CMSIS标准。当然,ST官方库也是根据这套标准设计的。基于CMSIS应用程序的结构体如下:可见,CMSIS分为3个功能层:核内外设访问层:ARM公司提供,定义处理器内部寄存器地址以及功能函数;中间件访问层:ARM公司提供,定义访问中间件的API(CPU的调试功能集成于此);器件级外设访问层:也称片内外设访问层,定义硬件寄存器的地址和外设访问函数。CMSIS向下负责与内核和各个外设直接打交道,向上提供实时操作系统用户程序调用的函数接口。若无CMSIS标准,那么各个公司设计的库函数就会不同。资料准备|
资料文件说明05文件目录:……\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSuportcore_cm3.c和core_cm3.h:CMSIS核心文件,提供进入Cortex-M3内核的接口,由ARM公司提供,适用于所有M3内核的芯片。资料准备|
资料文件说明05文件目录:……\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x主要存放一些启动文件以及基础的寄存器和中断向量的定义的文件。system_stm32f10x.c和system_stm32f10x.h:这组文件的功能是设置系统和总线时钟,其间最重要的函数是SystemInit()函数,这个函数是在系统启动时调用的,用来设置整个系统的时钟。stm32f10x.h:其间有许多结构体和宏定义,这个文件里面主要是系统寄存器的定义申明以及包装对其的操作。startup:存放启动文件资料准备|
资料文件说明05文件目录:……\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm这8个startup打头的.s文件,是针对不同容量的芯片的启动文件。启动文件的作用在于进行堆栈等初始化,中断向量表以及对应的中断处理函数的定义,启动文件还要引导程序进入main函数。对于f103系列的STM32,主要是用到其中3个启动文件。startup_stm32f10x_Ld.s:适用于小容量的STM32startup_stm32f10x_Md.s:适用于中等容量的STM32startup_stm32f10x_Hd.s:适用于大容量的STM32本课程使用的芯片的flash为512KB,属于大容量芯片。芯片flash等级划分规则:小容量:<=32K中等容量:>=64K&&<=128K大容量:>=256K工程建立|
工程文件分类整理05一个工程会使用到很多的文件,这些文件可能存在不同的来源,存在不同的用途,对应着不同的器件。例如:系统启动文件我们可以从ST官网获得,而LED的控制程序由用户自己编写;LED有LED的控制方法,步进电机也有步进电机的控制方法。为了方便我们自己管理这些文件、以及方便日后进行程序移植。分类方法没有固定规则。一般习惯可以按照以下方法分类:①、建立工程的总文件(demo),与工程相关的所有文件都存放在里面。②、工程文件中建立文件夹用来分类管理工程中的文件:CMSIS:与系统相关的文件都存放在这里,这些文件都是ST官网上下载的;Libraries:标准库函数文件;ReadMe:用于工程说明的文本文件;USER:用户自己编写的文件05因为用户会自己编写很多文件,为了方便用户查阅,对于用户的文件可以再进行分类,比如按照文件类型分为:INC(C语言头文件)和SRC(C语言源文件)。工程建立|
工程文件分类整理05将STM32F103的标准库函数文件复制到我们建立Libraries文件夹下:工程建立|
工程文件分类整理05将以下文件复制到我们建立的CMSIS文件夹下:工程建立|
工程文件分类整理文件路径core_cm3.c、core_cm3.h\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupportstartup_stm32f10x_hd.s\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\armstm32f10x.h、system_stm32f10x.c、system_stm32f10x.h\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10xstm32f10x_conf.h\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\ADC\TIMTrigger_AutoInjection05运行KEIL5软件建立新工程:新工程保存路径为:工程文件夹(demo)工程建立|
工程环境设置05点击保存后会自动弹出一下界面,在这里输入使用的芯片的型号,选择合适芯片型号,然后点击OK。工程建立|
工程环境设置05下面这个界面直接关闭,或者点击OK。工程建立|
工程环境设置05为了方便工程管理,需要建立一些文件分组,一般按照我们建立的文件夹进行分组。工程建立|
工程环境设置05将系统相关文件添加到CMSIS分组下,添加时只需要添加.s文件(AssemblerSource)以及.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程环境设置05工程建立|
工程环境设置05将标准库函数源文件添加到Libraries分组下,添加时只需要添加.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程环境设置05将标准库函数源文件添加到Libraries分组下,添加时只需要添加.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程环境设置05将标准库函数源文件添加到Libraries分组下,添加时只需要添加.c文件(CSource),.h文件可以添加也可以不添加。工程建立|
工程环境设置05建立用户自己的文件:点击菜单栏File下的白色图标,即可建立一个空白文件,一般在工程中建立文件时,如果要建立的是.c文件,则会对应建立一个.h文件,例如:建立一个main.c文件,对应建立一个main.h文件。工程建立|
工程环境设置05将新建的两个空白文件分别保存到……\USER\INC和……\USER\SRC中,各自命名为main.h和main.c。注意一定要带后缀,否则默认保存为文本文件。这两个文件就是我们用于编写main函数(.c文件)以及包含main.c中所需要的相关头文件、宏定义、外部声明(.h文件)等等。工程建立|
工程环境设置05将main.c文件添加到工程中USER分组下:双击分组USER,找到保存的main.c文件,选择添加,之后关闭窗口即可。工程建立|
工程环境设置05头文件框架搭建:#ifndef
MAIN_H_//如果没有定义宏MAIN_H_,宏名一般依据文件名命名。#defineMAIN_H_//注意这两个宏名必须一致//用户代码,包括宏定义、函数声明、变量外部声明、头文件包含等等//一般不在头文件中定义变量#endif工程建立|
工程环境设置05在main.c中包含头文件main.h并定义主函数,在main.h中包含文件stm32f10x.h。工程建立|
工程环境设置注意:主函数中一般要加入一个死循环,目的是为了让程序不会结束运行。05设置头文件路径:在工程中用到了一些存放在用户自己选择的路径下的头文件,因此需要设置相关头文件路径,此外官方文件源码中有部分一部分使用了条件编译,我们也需要设置相关的宏定义,相关宏名在stm32f10xx.h文件中。工程建立|
工程环境设置宏名根据芯片选择:大容量芯片选择STM32F10X_HD;库函数编程选择USE_STDPERIPH_DRIVER;两个宏名之间使用英文逗号(,)间隔存在头文件的目录如下:……\CMSIS……\USER\INC……\Libraries\inc05工程建立|
工程环境设置05工程建立|
工程环境设置(1)(2)(3)05工程建立|
工程环境设置(1)(2)(3)05工程建立|
工程环境设置(1)(2)(3)05工程建立|
工程环境设置设置程序调试和下载方式:05工程建立|
工程环境设置设置程序调试和下载方式:05工程建立|
工程环境设置设置程序调试和下载方式:05工程建立|
工程环境设置设置程序调试和下载方式:设置好后,点击OK退出,注意不能直接关闭,必须点击OK退出,否则所有设置将会被取消。程序下载验证05打开实例程序中的验证代码工程程序下载验证05点击以下图标进行编译连接,等待编译完成后点击下载图标进行下载程序。下载完成后,芯片复位,将按照LED1~4顺序依次点亮,并保持同一时间只有一个LED点亮(熄灭其他的LED)。信盈达开发平台硬件资料介绍01信盈达开发平台硬件资料介绍05149信盈达STM32开发板资源开发板资源课程介绍供电和下载说明150信盈达STM32开发板资源|
开发板资源01151信盈达STM32开发板资源|
开发板资源01信盈达STM32开发板板载资源如下:CPU:STM32F103ZET6,LQFP144,FLASH:512K,SRAM:64K;外扩SRAM:IS62WV51216,1M字节外扩SPIFLASH:W25Q64,8M字节1个电源指示灯4个状态指示灯1个红外接收头,并配备一款小巧的红外遥控器1个EEPROM芯片,24C02,容量256字节1个重力加速度传感器芯片,ADXL3451个高性能音频编解码芯片,VS10531个2.4G无线模块接口(NRF24L01)1路CAN接口,采用TJA1050芯片1路485接口,采用SP3485芯片1路RS232(串口)接口,采用SP3232芯片1个PS/2接口,可外接鼠标、键盘1个游戏手柄接口,可以直接插FC(红白机)游戏手柄1路数字温湿度传感器接口,支持DS18B20/DHT11等152信盈达STM32开发板资源|
开发板资源01信盈达STM32开发板板载资源如下:1个标准的2.4/2.8/3.5寸LCD接口,支持触摸屏1个摄像头模块接口2个OLED模块接口1个USB串口,可用于程序下载和代码调试(USMART调试)1个USBSLAVE接口,用于USB通信1个有源蜂鸣器1个FM收发天线接口,并配天线1个RS232/RS485选择接口1个CAN/USB选择接口1个串口选择接口1个SD卡接口(在板子背面,支持SPI/SDIO)1个SD卡/网络模块选择接口1个标准的JTAG/SWD调试下载口1个VS1053的IIS输出接口1个MIC/LINEIN选择接口153信盈达STM32开发板资源|
开发板资源01信盈达STM32开发板板载资源如下:1个录音头(MIC/咪头)1路立体声音频输出接口1路立体声录音输入接口1组多功能端口(DAC/ADC/PWMDAC/AUDIOIN/TPAD)1组5V电源供应/接入口1组3.3V电源供应/接入口1个参考电压设置接口1个直流电源输入接口(输入电压范围:6~16V)1个启动模式选择配置接口1个RTC后备电池座,并带电池1个复位按钮,可用于复位MCU和LCD4个功能按钮,其中WK_UP兼具唤醒功能1个电源开关,控制整个板的电源1路步进电机接口2路工控继电器接口154信盈达STM32开发板资源|
供电和下载说明01供电信盈达stm32开发板共支持俩种供电方法:1)DC座供电DC座为12v1A电源供电,可购买信盈达专用电源供电。2)USB供电USB供电可通过板上连个miniUSB口(即USB从机接口或者串口1接口)5v供电,可从电脑USB口取电,但此供电电流较低,推荐使用DC12v供电155信盈达STM32开发板资源|
供电和下载说明01下载与调试Stm32芯片支持JTAG和SW俩种下载调试方式,和串口1下载方式。信盈达stm32开发板将JTAG端口通过JTAG座子引出,同时支持JTAG和SW俩种模式,串口1在miniUSB中引出。开发板支持多种调试方式,和多种的下载方式,用户可根据自己的需要选择合适的下载调试器156信盈达STM32开发板资源|
供电和下载说明01JLINK下载调试JLINk支持JTAG和SW俩种下载和调试方式。需要配件:jlink一套。使用方法:a)安装jlink驱动b)配置BOOT0,boot1为低电平(配置J8跳线)。c)将jlink把开发板(JTAG)和电脑USB连接,同时上电。d)配置MDK157信盈达STM32开发板资源|
供电和下载说明01打开MDK工程,点击,打开OptionsforTarget选项卡,在Debug栏选择仿真工具为Cortex-M3J-LINK,如图所示158信盈达STM32开发板资源|
供电和下载说明01上图中我们还勾选了Runtomain(),该选项选中后,只要点击仿真就会直接运行到main函数,如果没选择这个选项,则会先执行startup_stm32f10x_hd.s文件的Reset_Handler,再跳到main函数。然后我们点击Settings,设置J-LINK的一些参数。159信盈达STM32开发板资源|
供电和下载说明01我们选用J-LINK的SW模式调试,也可以在此选择JTAG的调试方式,单击OK,完成此部分设置,接下来我们还需要在Utilities选项卡里面设置下载时的目标编程器。160信盈达STM32开发板资源|
供电和下载说明01我们选择J-LINK来调试CortexM3,然后点击Settings。这里要根据不同的MCU选择FLASH的大小,因为我们开发板使用的是STM32F103ZET6,其FLASH大小为512KB,所以我们点击Add,并在ProgrammingAlgorithm里面选择512K型号的STM32。然后选中ResetandRun选项,以实现在编程后自动启动,其他默认设置即可。设置完成之后点击OK,然后再点击OK,回到IDE界面,编译一下工程。点击按钮,即可完成下载。点击,可进入硬件jlink仿真161信盈达STM32开发板资源|
供电和下载说明01ST-LINK下载调试ST-LINK同样支持JTAG和SW俩种下载和调试方式。使用方法与jlink基本相同,只是下载速度与jlink相比要慢一些,MDK配置上只需在option中将选择的jlink换成STlink选项即可,其余同jlink的使用方法及效果完全一样,这里不再赘述。162信盈达STM32开发板资源|
课程介绍01本课程从库函数级别出发,深入浅出,向读者展示STM32F1的各种功能。总共配有多个实例,基本上每个实例在均配有软硬件设计,在介绍完软硬件之后,马上附上实例代码,并带有详细注释及说明,让读者快速理解代码。这些实例涵盖了STM32F1的绝大部分内部资源,所有实例在MDK5编译器下编译通过,大家只需下载程序到信盈达STM32开发板,即可验证实验。不管你是一个STM32初学者,还是一个老手,本手册都非常适合。尤其对于初学者,本手册将手把手的教你如何使用MDK,包括新建工程、编译、仿真、下载调试等一系列步骤,让你轻松上手。本手册的实验平台是信盈达STM32开发板,有这款开发板的朋友则直接可以拿本手册配套资料的例程在开发板上运行、验证。而没有这款开发板而又想要的朋友,可以上淘宝购买。当然你如果有了一款自己的开发板,而又不想再买,也是可以的,只要你的板子上有信盈达STM32开发板上的相同资源(需要实验用到的),代码一般都是可以通用的,你需要做的就只是把底层的驱动函数(比如IO口修改)稍做修改,使之适合你的开发板即可。GPIO实验01020304GPIO基础知识STM32的GPIO资源GPIO框图分析GPIO库函数分析05GPIO示例与作业06GPIO总结GPIO基础知识01GPIO应用GPIO工作模式概念解析GPIO基础知识|
概念解析01全国现状GPIO:(GeneralPurposeInputOutput)通用输入输出端口,是STM32芯片上最常用的外设。该外设具体名称为GPIOx(x=A...I)一般,每个GPIO端口包含最多16个引脚,序号分别为0~15。描述GPIO引脚时会采用缩写表示,以GPIOA端口下序号为5引脚为例,则该引脚名称为PA5。MCU可以采集GPIO引脚上的电平状态,也可以控制GPIO引脚上输出指定电平,从而实现对电路的控制。右图为实验板原理图的GPIO部分截图GPIO基础知识|
概念解析01全国现状输出:MCU通过GPIO引脚发送特定的电平对外围电路产生影响。比如:MCU驱动LED时,需要使用GPIO输出。输入:MCU通过GPIO引脚检测外围电路发送的电平信号。比如:MCU驱动按键时,需要使用GPIO输入以下为输出和输入相应的示例。GPIO基础知识|
GPIO应用01全国现状GPIO是MCU与外界数据交流的唯一通道。除了引脚基本的输入与输出功能外,STM32进行的所有通信都会使用到GPIO外设,比如:同步通信IIC、SPI;异步通信UART等。需要注意,往STM32中下载程序这也是MCU与外界进行数据交流,此时也必须使用GPIO。下载/调试引脚:STM32的PA13、PA14、PA15、PB3和PB4引脚在芯片上电后默认作为JTAG调试/下载接口,为确保JTAG接口下载成功实现,编程时应当避免对这些引脚进行其他设置。GPIO基础知识|
GPIO工作模式01全国现状根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位(即每个引脚)可以由软件分别配置成8种模式。─输入浮空─输入上拉─输入下拉─模拟输入─开漏输出─推挽式输出─推挽式复用功能─开漏复用功能GPIO基础知识|
GPIO工作模式01全国现状推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。这种结构既可以输出高电平,也可以输出低电平,可以用于连接数字器件。开漏结构,一般使用开漏输出模式时,若外部不接上拉电阻时,只能输出低电平,所以要想输出高电平必须要外接上拉电阻。这样做的有一个好处,可以用来匹配不同的电平信号,也就是用于不同电压的系统之间的通信;另外,因为要输出高电平需要有外部的上拉电阻,所以在进行通信时,通信的速度也受到上拉电阻阻值的影响,阻值小时,通信速度可以很快,阻值大时,通信速度变慢,但也不能为了通信速度把上拉电阻用的很小,也要注意在电阻很小时,功耗会变大,所以要平衡好这个度。STM32的GPIO资源02
GPIO特性GPIO资源STM32的GPIO资源|
GPIO资源02STM32F103ZE芯片中含有7个GPIO端口,分别为GPIOA—GPIOG,均挂载在APB2总线上。共有7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江公务员面试模拟74
- 建筑工程配电管及管内穿线工程质量控制监理实施细则
- 2024年简易厂房租赁合同范本
- 2024年信用借款合同样本
- 2024年简单租地合同协议书
- 浙江公务员面试模拟76
- 新解读《GBT 41111-2021气焊用非合金钢及热强钢填充丝》
- 2024年工地用工合同范本(2050字)
- 2024年简单租车合同
- 地方公务员+辽宁申论108
- GB/T 25748-2010压铸镁合金
- GA/T 766-2020人精液PSA检测金标试剂条法
- DB11-T 1832.10-2022建筑工程施工工艺规程 第10部分:装饰装修工程
- 2023年广州市法院书记员招聘笔试题库及答案解析
- 锂矿及碳酸锂的生产工艺基本知识课件
- 一、小柴胡汤课件
- 2022-2023学年浙科版(2019)选择必修三 5.2 我国禁止生殖性克隆人 课件(28张)
- 洗车店管理制度
- 2022版道德与法治新课程标准课标测试卷测试题库(含答案)(教师招聘试卷教资考试)
- 高中英语选修一(人教版)2-1Looking into the Future 教学课件
- 电动汽车充电桩申请安装备案表
评论
0/150
提交评论