版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1嵌入式技术入门——汽车转向灯设计嵌入式技术及应用嵌入式技术入门——嵌入式智能小车转向灯的设计引导案例:嵌入式技术应用开发赛项是全国职业院校技能大赛中规模最大、规格最高的比赛之一。采用嵌入式智能小车为载体,重点考察嵌入式系统电路设计及应用、嵌入式微控制器技术及应用、传感器技术及应用、RFID技术及应用、无线传感技术及应用、移动互联网技术及应用、Android应用开发、机器视觉技术及应用、智能语音技术及应用、嵌入式人工智能与边缘计算技术应用等嵌入式技术核心知识和核心技能。本项目对嵌入式智能小车的二次开发,以嵌入式智能小车的转向灯、鸣笛控制为主要工作任务,作为嵌入式技术及应用的入门知识与技能。主要内容为:①嵌入式系统软件平台的搭建。②嵌入式硬件平台的构建与模拟。③能够编写转向灯、鸣笛的控制程序。2职业能力目标01任务描述与要求02任务分析03知识链接04任务准备05任务实施06任务小结07任务1嵌入式智能小车转向灯任务拓展083认识Cortex-M3嵌入式MCU;掌握MDK-ARM开发环境的搭建方法;掌握STM32CubeMX开发环境的搭建方法;掌握使用STM32CubeMX创建工程和生成代码的方法。能使用STM32CubeMX和MDK-ARM软件,正确搭建STM32的开发环境;能熟练使用STM32CubeMX创建工程和生成代码。职业能力目标01知识目标技能目标4任务描述:设计LED转向灯、鸣笛的硬件电路,并编写控制程序。LED转向灯的闪烁频率为2Hz,蜂鸣器的鸣叫频率为5Hz。系统硬件部分的主控芯片为STM32F407ZET6。采用C语言编程,能够通过按键开启或关闭转向灯,按下按键蜂鸣器响,再次按下按键蜂鸣器停止鸣叫。任务要求:合理选择芯片并设计出原理图。编写出模块化程序,代码结构清晰,可读性、可维护性强。进行软硬件联合调试并实现功能。任务描述与要求025任务实施前,需要收集如下信息:LED转向灯驱动电路的工作原理信息。电路的电子元件参数信息。主控芯片的型号、工作电压和封装信息。编程软件和开发工具的获得方法。硬件、软件调试工具、仪表信息。LED转向灯的电路原理图如图1-1所示,嵌入式智能小车中的按键及蜂鸣器电路如图1-2所示。任务分析03图1-1LED转向灯控制电路图图1-2按键及蜂鸣器电路6任务分析03图1-1中,LED1~LED4分别连接到STM32F407的GPIOH口的H.12~H.15,以LEDD12为例,当H.12为高电平时,Q2导通,D12发光。H.12为低电平时,Q2截止,D12熄灭。蜂鸣器电路与此类似,SPK连接到STM32F407的GPIOH口的H.5,当H.5为高电平时,Q1导通,蜂鸣器BEEP1有电流流过,蜂鸣器发声,反之,当H.5为低电平,Q1截止时,BEEP1不发声。系统上电瞬间,H.5默认为高电平,为防止蜂鸣器鸣响,通过R26分压H.5电平。图1-2中,按键开关S1~S4分别连接到STM32F407的GPIOI口的I.4~I.7,可让I.4~I.7在上电初始时设置为高电平,当S1~S4有键按下时,按键控制程序识别到对应端口引脚为低电平,如不是系统干扰,即认为有键按下,可触发其他工作的开展。图1-1LED转向灯控制电路图图1-2按键及蜂鸣器电路7任务1让“芯”动起来职业能力目标01任务描述与要求02任务分析03知识链接04任务准备05任务实施06任务小结07任务拓展088信息技术的发展嵌入式系统入门知识STM32CubeMX下载与安装12知识链接03MDK-ARM的下载及安装345678ST-Link仿真器驱动程序安装串口调试软件的下载及安装STM32CubeMX软件的使用MDK-ARM软件的使用91.1.1信息技术的发展1计算机的诞生通用信息处理23人工智能10计算机的诞生历史上第一台“可编程”电子计算机ENIAC晶体管计算机
1946世界上第一台“冯
诺依曼体系结构”的计算机19491949第一个4位微处理器1971112.通用信息处理6521341964年,IBM研发System/360,向通用化方向发展70年代,计算机分为软件和硬件,分开售卖出现各种高级语言,形成软件系统出现操作系统、数据库互联网的发展物联网的发展12大型机、巨型机单纯的数值计算通用的信息处理硬件和软件高级编程语言操作系统和数据库计算机网络微型化、网络化嵌入式微处理器物联网(IoT)计算机处理能力不断提升2.通用信息处理13人工智能“深蓝”超级计算机战胜了国际象棋世界冠军,人工智能在特定领域可以达到甚至超越人类的水平。19361950195619972016阿兰
图灵提出了现代通用计算机的理论模型,即“图灵机”图灵发表了题为《机器能思考吗?》的论文,为人工智能的建立奠定了基础,提出了“图灵测试”正式提出了人工智能(ArtificialIntelligence,AI)这一概念基于深度学习的AlphaGo战胜了围棋世界冠军。14【案例分析1:智能手环】智能手环可以记录人们日常生活中的运动、睡眠、甚至饮食等实时数据,并将这些数据与手机、平板等设备同步,对采集的日常数据进行大数据分析,发挥指导健康生活的作用。小米FitbitFlex手环嵌入式系统概述15智能手环一般由微控制器、蓝牙模块、Wi-Fi电路、OLED显示屏、心率传感器、加速度传感器、锂电池等模块组成,实现显示时间、监测睡眠、运动等功能智能手环系统框图【案例分析1:智能手环】嵌入式系统概述16嵌入式系统概述四轴无人机及拆解电路【案例分析2:四旋翼无人机】17标号①:处理器,使用STM32系列,完成整个系统的控制;标号②:电源管理芯片,主要完成电池的管理;标号③:舵机控制部分,驱动无人机螺旋桨转动;标号④:射频电路,负责与遥控器之间的射频控制通信;标记⑤:指示灯,提示信号接收状态及电池情况。嵌入式系统概述【案例分析2:四旋翼无人机】18微控制器是控制系统的核心,负责飞行过程中的导航、通信、控制等核心任务,根据各传感器模块采集到的当前的飞行姿态和空间位置,计算相关的运动参数,将控制信号发送给机载执行机构从而改变无人机的位置和速度,同时保持飞行姿态的稳定。四旋翼无人机系统总体框图嵌入式系统概述【案例分析2:四旋翼无人机】191.2.1嵌入式系统案例分析嵌入式系统的共性特定的使用场合或工作环境,是某个大型系统的一部分,完成一个具体的功能,专用性强,应用于特定的平台。功能单一,模块的设计和实现较为简单。功耗低,且一般要求高实时性和高可靠性,系统程序一般都是固化在内存中,以提高运行速度和可靠性。人机交互界面简单开发时往往有上位机和下位机或主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。201.2.2嵌入式系统的概念泛在的嵌入式系统的定义:除通用PC机和服务器之外的一切计算机系统都可以叫嵌入式系统。典型应用产品有智能手机、工业机器人、无人机、无人驾驶汽车、心电监护仪、人工耳蜗等。国外定义:嵌入式系统是控制、监视或辅助设备、机器和车间运行的装置。行业内普遍认同的定义为:以应用为中心、以计算机技术为基础,软、硬件可剪裁,适合应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,用于对其他设备的控制、监视或管理等功能。21嵌入式系统概念及特点基本特点嵌入性嵌入到对象系统,满足对象系统的要求,如物理环境、电气环境。专用性量身定做,专用开发环境,专用开发工具计算机系统以计算机技术基础,光、机、电、算、软一体化,多学科融合223.嵌入式系统与物联网大量的传感器节点有线或无线网络大数据、云计算、模式识别等智能技术海量信息传输与交换分析、加工和处理使应用更加智能化、个性化物联网是互联网与嵌入式系统高度融合发展的产物,是互联网在应用上的拓展,是嵌入式技术在网络互连的延伸和应用。23【物联网的应用案例1:智能马桶】基本功能:加热、保温、杀菌、除臭、烘干;未来功能:通过物联网、大数据和人工智能可以对排泄物进行化验分析,并将分析结果实时传送给家庭医生,及时发现病情。3.嵌入式系统与物联网24【物联网的应用案例2:农业病虫害防治(精准农业)】3.嵌入式系统与物联网捕捉害虫啃噬农作物时的细微振动或昆虫翅膀的振动频率;上传并分析出昆虫的种类,判断其是否是害虫确认为害虫后,自动调用无人机去喷洒相应农药;25嵌入式系统概述想一想,你知道哪些处理器?嵌入式系统中的处理器可以分成四大类:1微处理器MPU2微控制器MCU3数字信号处理器DSP4片上系统SOC261.2嵌入式技术入门知识1常用名词通用信息处理23人工智能271.2.1MCU、MPU、ARM、FPGA、DSP的概念Renesas(瑞萨)NXP(恩智浦)Microchip(微芯)ST(意法半导体)Atmel(爱特梅尔)TI(德州仪器)Toshiba(东芝)Samsung(三星)宏晶、凌阳、新唐等80C51系列单片机、Atmel公司的AVR单片机、Microchip公司的PIC、TI公司的MSP430、ST公司的STM32系列、NXP公司的LPC1700系列芯片MicroControlUnit,嵌入式微控制器(俗称单片机),把CPU、随机存储器RAM、只读存储器ROM、I/O、中断系统、定时器/计时器、各种功能外设等资源集成到一个芯片上的微型计算机系统28在主频、ROM大小及外设接口方面有了翻天覆地的变化典型应用产品工业控制器、智能手环、血糖仪、智能消费电子、家电等微控制器的发展8位机(51单片机)16位机(PIC、MSP430等)高性能的32位机(STM32、LPC2000等)应用领域和场合不断扩展和更新1.2.1MCU、MPU、ARM、FPGA、DSP的概念29MPUMicroProcessorUnit,微处理器。MPU是由通用计算机中的CPU(微处理器)演变而来,可以理解为增强版的CPU,即不带外围功能器件。一个嵌入式微处理器系统需要在MPU的基础上,添加外围电路和外部设备才得以构成。MPURAMROMFlash电源USBLCD键盘嵌入式微处理器系统Motorola的68K系列Intel的X86系列飞思卡尔的i.MX6TI公司的AM335XSamsung的S3C2410和S3C6410应用产品有智能手机、平板电脑、路由器、数码相机等1.2.1MCU、MPU、ARM、FPGA、DSP的概念30ARM是一家公司,也是一类技术和产品的统称。ARM公司设计的芯片主要涉及嵌入式移动设备领域,指令集更加紧凑简单,功耗和成本更低,在移动消费电子领域占据着很大的市场份额。ARMCortex-A15内核设计的芯片ARM公司目前主要授权三个系列的芯片设计——ARM9、ARM11和Cortex,涉及微控制器系列、微处理器系列以及更高端的产品系列。1.2.1MCU、MPU、ARM、FPGA、DSP的概念31体积小、功耗低、价格低廉MCU微控制器处理能力强,可扩展更大的内存空间,主频、功耗、体积及价格方面相对较高MPU微处理器搭载操作系统的MPU功能更为强大,人机界面更为人性化、美观化微波炉、智能手环以及电动车上的电机控制器等适用于功能单一、耗电量低、对价格敏感、便携式的、人机界面简单的产品应用。应用于功能多样、人机交互系统较为强大,对运算速度有较高要求的应用场合,比如多媒体设备1.2.1MCU、MPU、ARM、FPGA、DSP的概念32DSP两种含义DigitalSignalProcessing(数字信号处理),是用数值计算的方式对信号进行加工处理的理论和技术。DigitalSignalProcessor(数字信号处理器),是一种专用于数字信号处理领域的微处理器芯片,将数字信号处理算法用具体的器件实现。专用的硬件乘法器专门的DSP指令程序和数据分开存储的哈佛体系结构支持流水线操作允许取指令和执行指令同时进行提高了微处理器的速度,其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器。所采用的技术1.2.1MCU、MPU、ARM、FPGA、DSP的概念33应用于低端市场的,如TMS320C2000系列高端的DSP,如TMS320C5000/C6000系列TI(德州仪器)ADI(美国模拟器件)Motorola(摩托罗拉)Lucent(朗讯科技)Zilog(Z洛格)DSP芯片的主要厂商TI的典型产品数字信号处理领域,例如调制解调、数字加密解密、图像处理中的卷积、数字滤波、FFT、语音处理等数字信号处理的算法实现等主要应用DSP处理器1.2.1MCU、MPU、ARM、FPGA、DSP的概念34Field-ProgrammableGateArray,现场可编程门阵列。突出的优势:灵活性:可以现场配置器件功能,不再受硬件的制约;高性能(速度快):FPGA用硬件处理数据,采用并发和流水两种技术,多个模块之间可以同时并行执行。FPGA逻辑单元触发器资源I/O引脚硬件描述语言硬件(芯片)任何数字器件的功能,上至复杂的CPU,下至简单的数字逻辑电路。1.2.1MCU、MPU、ARM、FPGA、DSP的概念35HDL/VHDL1.2.2MCU开发与ARM-Linux开发的区别开发主要涉及的内容:Linux内核与移植、Bootloader、Linux文件I/O、Linux多任务编程、Linux进程间通信、Linux多线程编程、Linux网络编程、Linux设备驱动编程、Android应用编程等。偏向软件,开发人员需具备数据结构、操作系统、计算机网络等相关理论知识和专业技能,在嵌入式开发领域里常称为软件开发工程师。开发主要涉及的内容有:体系结构与接口、指令系统、汇编语言、GPIO、定时器、A/D、I2C、SPI、Flash、LCD、SD卡等外设接口、RTOS、uC/OS-II嵌入式操作系。偏向硬件,开发人员需具备电子技术、微机原理等相关理论知识,掌握绘制电路板等专业技能,在嵌入式开发领域里一般常称为硬件开发工程师。MCU开发ARM-Linux开发361.2.3嵌入式技术中常见的术语1.封装封装是用塑料、金属或陶瓷材料等把集成电路封在其中。封装可以保护芯片,并使芯片与外部世界相连。常见的封装形式有:①通孔封装;②贴片封装。通孔封装中,常见有:①单列直插式;②双列直插式;③Z字形封装。贴片封装中,常见有:①小外形封装;②紧缩小外形封装;③四方扁平封装。371.2.3嵌入式技术中常见的术语2.PCB印制板也称为PCB板,是组装电子元件用的基板,是电路原理图的实物化。PCB板的主要功能:提供集成电路等各种电子元件固定、装配的机械支撑。图1-8所示为某款PCB板的实物。图1-8印制电路板381.2.3嵌入式技术中常见的术语3.ROM&RAMRAM是可读写的随机存储器,分为DRAM和SRAM两类。01DRAM特点:价格低,但控制烦琐,接口电路复杂。一般用于内存或显存。03SRAM显然速度快,不需要刷新的操作,但是也有缺点,就是价格高,体积大,所以在主板上还不能作为用量较大的主存。05DRAM:由一个MOS管组成一个二进制存储位,一般需要每隔一段时间就要控制刷新信息,给其充电。02SRAM:由四个或者六个MOS管构成一个二进制存储位。通电工作时,SRAM不用刷新,可以保存原有数据不变,一般用于CPU缓存。04ROM:数据可以读出,但不可以修改,所以称之为只读存储器。通常用来存储一些固定不变的信息如常数、程序等。06391.2.3嵌入式技术中常见的术语4.模拟量和开关量模拟量是指时间连续、数值也连续的物理量,如温度、压力、流量等。模拟量:控制量的大小是一个在一定范围内变化的连续数值。如,温度从0~500℃,压力从0~16MPa,液位从1~10m,电动阀门的开度从0~100%等,这些量都是模拟量。开关量是指一种二值信号,用两个电平分别表示两个逻辑值(0和1)。开关量:该控制量只有两种状态,如开关的断开和导通的状态,继电器的打开和闭合,电磁阀的通和断等。401.2.3嵌入式技术中常见的术语5.并行通信和串行通信并行通信是指数据的各位同时在多根数据线上进行传输的通信方式,数据的各位同时由源到达目的地。如8位、16位、32位等同时传输。串行通信是指数据在单线(高低电平表征信号)或双线(差分信号)上,按时间先后一位一位地逐位传送,其优点是节省传输线,但相对于并行通信来说,速度较慢。411.2.3嵌入式技术中常见的术语7.串行外设接口——SPISPI(SerialPeripheralInterface)是Motorola公司推出的一种串行外设接口,主要用于MCU扩展外围芯片。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB板上的布局节省空间。图1-10是SPI主从通信的示意图。图1-10SPI主从通信示意图421.2.3嵌入式技术中常见的术语8.集成电路互连总线接口——IIC(I2C)I2C(Inter-IntegratedCircuit)也读作I方C,是一种由Philips公司开发的两线式串行总线,主要用于用户电路板内MCU与其外围电路的连接。它是一种串行通信总线,使用多主从架构,为了让主板、嵌入式系统用以连接低速周边设备而发展起来的总线技术。图1-11I2C通信系统MCU与外围电路模块的连接示意图431.2.3嵌入式技术中常见的术语9.控制器局域网总线接口(CAN)控制器局域网(ControllerAreaNetwork,CAN),是由研发和生产汽车电子产品著称的德国BOSCH(博世)公司开发的,并最终成为国际标准(ISO11898),是国际上应用最广泛的现场总线之一。441.2.3嵌入式技术中常见的术语10.边界扫描测试协议——JTAGJTAG(JointTestActionGroup)是由国际联合测试行动组开发,对芯片进行测试的一种方式,可将其用于对MCU的程序进行载入与调试等。11.串行线调试(SWD)SWD技术使用两针调试端口,是JTAG的低针数和高性能替代产品,通常用于小封装微控制器的程序写入与调试。随着ARM公司Cortex系列的推出,采样SWD方式调试成了大家的首选。SWD不仅速度可以与JTAG媲美,而且使用的调试线比JTAG少得多。很多人在采样SWD方式进行调试时,一般都是采用4线:①VCC;②GND;③SWDIO;④SWCLK。图1-12常用仿真器实物451.2.3嵌入式技术中常见的术语12.通用输入/输出(GPIO)GPIO是通用输入/输出(General
Purpose
I/O)的简称,主要用于工业现场需要用到数字量输入/输出的场合,例如:输出功能:继电器、
LED、蜂鸣器等的控制输入功能:传感器状态、高低电平等信息的读取复用功能:片内外设的对外接口时序模拟:模拟SPI、I2C和UART等常用接口的时序461.2.4学习STM32必备的知识基础
STM32微控制器应用开发的编程语言是C语言。在应用开发过程中,用户还经常需要阅读电路原理图、集成电路芯片的数据手册(Datasheet)等专业资料。因此在学习STM32之前,应先学习“C语言程序设计”“模拟电子技术”“数字电子技术”等课程。上述课程为学习STM32奠定模拟和数字电路分析设计的原理与方法、基本的C语言程序设计语法与规范等知识基础。471.2.5学习STM32需要的工具与平台,以及好的学习方法初学者不应盲目地追求开发板的功能,应以够用为原则,重点关注开发板配套的学习资料与视频是否详细、全面。目前市面上可供选择的STM32开发板主要有两种:最小系统板和外设齐全的开发板,分别如图1-13(a)和图1-13(b)所示。48“在线虚拟仿真实验教学平台”(/#/u)搭建硬件电路,建立工程文件、编译、运行,先验证电路、程序的功能,然后再在实际的开发板上测试验证。图1-14所示电路为虚拟仿真平台测试直流电机的PWM调速硬件环境。1.2.4学习STM32必备的知识基础49ARM处理器
ARM公司是全球领先的半导体知识产权提供商,不制造芯片,不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。ARM是啥?ARM是“英国芯片设计公司”的缩写ARM是AdvancedRISCMachine的缩写0102
ARM是与X86平级的CPU架构,它使用RISC(精简指令集计算机),虽然整体性能不如X86架构特有的CISC(复杂指令集计算机),但其成本低、功耗低且效率高。501.3 ARMCortex-M4内核与STM32微控制器ARM处理器将技术授权给其它芯片厂商形成各具特色的ARM内核芯片ARM是Advanced
RISC
Machines的缩写ARM公司的特点是只设计芯片,而不生产芯片它将技术授权给世界上许多著名的半导体厂商51Application
Processor面向高端应用的高性能处理器,如智能手机Cortex-ACortex-RCortex-MARMV7内核架构RealTime
Control面向实时应用的高可靠性处理器,如汽车电子Micro
Controller面向微控制器应用的低功耗、低成本处理器M0M0+M3M4M7
M331.3 ARMCortex-M4内核与STM32微控制器52ARM处理器5354应用演变仪器仪表汽车音响家电监控电动助力车 扩展坞IoT电动代步车穿戴式 飞行器 AI机器人传统应用: MCU
作为主控新应用:
MCU
+
RF+
Sense+Algorithm20072013201420195555谢谢观看56项目1嵌入式技术入门——汽车转向灯设计嵌入式技术及应用1.3
STM32微控制器的硬件电路设计主讲人:靳光明58STM32微控制器概述自制开发板最小系统设计Nucleo开发板简介自制开发板外围电路设计自制开发板仿真器电路设计59本节内容了解STM32微控制器的特点熟练使用电路设计软件完成微控制器最小系统设计掌握Nucleo开发板的设计原理教学目标601.3
STM32微控制器概述主讲人:靳光明61STM32微控制器概述产品分类Cortex-M0/M0+Cortex-M3高性能MCU主流型MCU低功耗MCU无线系列MCUCortex-M4 Cortex-M33 Cortex-M7丰富的产品线,面向不同应用Dual
Cortex-M7
&Cortex-M462STM32微控制器概述分类型号内核特点高性能STM32F2Cortex-M3通用型微控制器,最高主频120MHzSTM32F4Cortex-M4通用型微控制器,最高主频180MHzSTM32F7Cortex-M7通用型微控制器,最高主频216MHzSTM32H7Cortex-M7通用型微控制器,最高主频400MHz高性能MCU63主流型MCUSTM32微控制器概述分类型号内核特点主流型STM32F0Cortex-M0低成本、入门级微控制器,高性价比,最高主频48MHzSTM32F1Cortex-M3通用型微控制器,最高主频72MHzSTM32F3Cortex-M4侧重混合信号应用,最高主频72MHzSTM32G0Cortex-M0+F0系列升级产品,最高主频64MHzSTM32G4Cortex-M4F3系列升级产品,最高主频170MHz64低功耗MCUSTM32微控制器概述分类型号内核特点低功耗STM32L0Cortex-M0+低功耗应用,最高主频32MHzSTM32L1Cortex-M3低功耗应用,最高主频32MHzSTM32L4Cortex-M4低功耗应用,最高主频80MHzSTM32L4+Cortex-M4低功耗应用,最高主频120MHzSTM32L5Cortex-M33低功耗应用,提高了安全性,最高主频110MHz65STM32微控制器概述分类型号内核特点无线STM32WBCortex-M4Cortex-M0+双核微控制器,侧重无线应用,支持2.4G无线通信、蓝牙5.0和IEEE
802.15.4无线标准最高主频64MHz,无线系列MCU66STM32微控制器概述片内外设内置丰富外设资源模拟外设数字外设USBLCD液晶控制器SPI/
UARTSD卡接口模数/数模转换器电机控制电压比较器运算放大器67STM32微控制器概述高性能,低成本,小封装动态效能技术入门型STM32F410STM32F411STM32F401STM32F413STM32F423STM32F412更多的连接性和安全性基础型STM32F415STM32F407STM32F405STM32F446STM32F417丰富的连接外设加强的图形处理功能大容量的存储高级型STM32F437STM32F429STM32F427STM32F469STM32F479STM32F439STM32F4系列微控制器分类F4系列分类68STM32微控制器概述UQFPN48LQFP48LQFP64WLCSP64UFBGA64LQFP100UFBGA100F401CCFlash/RAMsize
(bytes)封装及引脚F401VCTWLCSP49F401CCF401RCF401CBF401VBTF401CBF401RB512K/
128KF401CDF401VDTF401CDF401RDF401CEF401VEF401CEF401REWLCSP36F410TBF410CBF410RBF410T8F410C8F410R8F411CCF411VCTF411CCF411RCF411CEF411VEF411CEF411RELQFP144UFBGA144F412CGF412CEF412RGF412REF412VGF412VEF412ZGF412ZE512K/
96K384K/
96K256K/
128K256K/
64K128K/
64K128K/
32K64K/
32KF413CHF413RHF413VHF413ZHF423CHF423RHF423VHF423ZHF413CGF413RGF413VGF413ZGF413MHF423MHF413MGWLCSP811.5M/
320K1.5M/
320K1M/
320K1M/
256K512K/
256K容量和引脚691.4
STM32
Nucleo开发板简介70Nucleo开发板灵活搭建产品原型重要功能参考评估官方开发板Discovery
KitEvaluationBoard全部功能参考评估71NucleoBoard模块化设计:ST-Link仿真器 + MCU核心板统一的MCU核心板设计:一板多用丰富的接口扩展:Arduino生态圈简洁的外设模块:指示灯和按键多功能的USB接口:虚拟串口、大容量存储、调试接口灵活的供电方式:USB供电
VS
外部供电支持多种开发环境:MDK-ARM、EWARM、Mbed电路特点Nucleo开发板Nucleo开发板
电路特点72电路特点Nucleo开发板覆盖STM32全部产品线STM32F411RE73ArduinoNucleo开发板借助Arduino生态圈,接入众多的Arduino扩展板74分类Nucleo开发板按照主控芯片引脚分类75USB接口CN1用户按键B1复位按键B2用户指示灯LD2电源指示灯LD3主控芯片STM32F411RETSWD调试接口CN4Arduino接口CN5/6/8/9外扩引脚接口CN7外扩引脚接口CN10电路模块76512KB
Flash和128KB
SRAM1个16位高级定时器,2个32位通用定时器,5个16位通用定时器3路USART;5路SPI/I2S;3路I2C;1路SDIO1路12位16通道ADC1个全速USB
2.0
OTG50个通用数字I/O口片内资源Nucleo开发板STM32F411RET677GPIO引脚分类STM32F411引脚图电源引脚复位及启动模式引脚时钟引脚仿真调试引脚通用数字I/O引脚BOOT1781.4
自制开发板最小系统设计79--
南昌大学“卓越”辅导员培养工程建设最小系统微控制器最小系统的定义最小系统定义狭义的最小系统仅包括电源电路、时钟电路、复位电路、调试电路及主控芯片电路广义的最小系统除包括上述电路外,还包括基本的人机接口电路,如指示灯、按键、蜂鸣器、数码管及串口通信等电路80最小系统电源电路调试电路复位电路时钟电路主控芯片最小系统为MCU提供统一的初始状态为整个电路系统提供所需的供电电压为MCU提供程序下载和调试的接口为MCU提供所需的时钟信号81电源电路最小系统三个外部电源输入均引出到外扩接口两种供电方式:外部供电和USB供电外部输入3.3V外部输入7V~12V外部输入5V电源输入选择电源指示灯提供给目标MCU及外围电路USB接口5V82时钟源最小系统STM32微控制器的四个时钟源内部低速时钟。由芯片内部的RC振荡器提供,默认频率为32KHzLSI内部高速时钟。由芯片内部的RC振荡器提供,默认频率为16MHzHSI外部高速时钟。通过在OSC_IN和OSC_OUT引脚接入晶振实现,频率范围为4MHz~26MHz。也可以直接接入外部时钟信号,频率范围为1MHz~50MHz。HSE外部低速时钟。通过在OSC32_IN和OSC32_OUT引脚接入32.768KHz的晶振实现。LSE83振荡模式旁路模式最小系统时钟电路时钟电路的两种设计方法84① 断开焊桥SB16、SB50、SB54和SB55;② 焊接8MHz石英晶体X3;③ 焊接2个20pF电容C33和C34;④ 焊接2个0欧电阻R35和R37或者用焊锡短接添加外部晶振时钟电路最小系统外部低速时钟LSE来自ST-Link仿真器的8MHz时钟外部高速时钟HSE,默认未焊接85复位电路阻容复位电路专用复位电路最小系统86调试电路引脚名称JATG调试接口SWD调试接口引脚分配JTMS/SWDIO测试模式选择串行数据输入/输出PA13JTCK/SWCLK测试时钟串行时钟PA14JTDI测试数据输入−PA15JTDO/SWO测试数据输出调试信息输出PB3JTRST复位目标MCU−PB4两种调试接口最小系统87调试电路最小系统一般不连接SWO引脚88PA2/PA3作为串口通信PA5控制指示灯LD2PC13控制按键B1PA13/PA14作为调试接口主控芯片I/O引脚89电源引脚电源引脚添加去耦电容模数电源隔离90RTC供电RTC供电电路增加电池供电的RTC供电电路最小系统91启动模式BOOT0BOOT1启动模式说明0X用户闪存存储器从MCU片内Flash启动,常用启动方式10系统存储器从系统存储器启动,主要用于串口下载(ISP模式)11SRAM启动从MCU片内SRAM启动,主要用于代码调试启动模式说明最小系统92启动模式用户闪存模式最小系统BOOT0默认接地931.4 Nucleo开发板外围电路设计94指示灯电路高电平驱动低电平驱动外围电路指示灯电路设计方法95指示灯电路外围电路PA5输出高电平,指示灯LD2开启PA5输出低电平,指示灯LD2关闭指示灯控制引脚PA5限流电阻R31高电平驱动方式96按键电路上拉式按键下拉式按键外围电路按键电路设计方法97按键电路按键控制引脚PC13上拉式按键按键按下,引脚PC13读到低电平按键释放,引脚PC13读到高电平触发方式按键按下瞬间,形成下降沿按键释放瞬间,形成上升沿按下保持释放外围电路98--
南昌大学“卓越”辅导员培养工程建设外扩接口外围电路99外扩接口3.3V输入/输出5V输入/输出Vin输入A/D接口I2CSPI定时器UARTGPIO--Arduino
UNO接口外围电路100CN6--序号名称对应STM32引脚功能说明1NC——2IOREF—输出3.3V直流电压3RESETNRST复位MCU4+3V3—外接3.3V直流电压输入或者输出3.3V直流电压5+5V—外接5V直流电压输入或者输出5V直流电压6GND—地7GND—地8VIN—外接7~12V直流电压输入电源接口外围电路101CN8--序号名称对应STM32引脚功能说明1A0PA0ADC1_0 :ADC1的转换通道02A1PA1ADC1_1 :ADC1的转换通道13A2PA4ADC1_4 :ADC1的转换通道44A3PB0ADC1_8 :ADC1的转换通道85A4PC1ADC1_11:ADC1的转换通道116A5PC2ADC1_10:ADC1的转换通道10A/D接口外围电路102CN5--序号名称对应STM32引脚功能说明10D15PB8I2C1_SCL:I2C1的时钟信号9D14PB9I2C1_SDA:I2C1的数据信号8AREF—模拟电压AVDD7GND—地6D13PA5SPI1_SCK:SPI1的时钟信号5D12PA6SPI1_MISO:SPI1的主机输入/从机输出信号4D11PA7TIM1_CH1N:定时器1的通道1的互补输出(PWM)SPI1_MOSI:SPI1的主机输出/从机输入信号3D10PB6TIM4_CH1:定时器4的通道1(PWM)SPI1_CS:SPI1的从机选择信号2D9PC7TIM3_CH2:定时器2的通道2(PWM)1D8PA9通用数字I/O数字I/O接口外围电路103CN9--序号名称对应STM32引脚功能说明8D7PA8通用数字I/O7D6PB10TIM2_CH3:定时器2的通道3(PWM)6D5PB4TIM3_CH1:定时器3的通道1(PWM)5D4PB5通用数字I/O4D3PB3TIM2_CH2:定时器2的通道2(PWM)3D2PA10通用数字I/O2D1PA2USART2_TX:串口通信2的数据发送引脚1D0PA3USART2_RX:串口通信2的数据接收引脚数字I/O接口外围电路104--Nucleo开发板和扩展板的连接方式外围电路105连接方式连接方式二--利用杜邦线连接外围电路外围电路106连接方式二1.5 Nucleo开发板仿真器电路设计主讲人:靳光明107--
南昌大学“卓越”辅导员培养工程建设ST-Link仿真器ST-Link仿真器的两个用途ST-Link板载MCU用于调试Nucleo开发板的板载MCU外部MCU作为独立的仿真器,用于调试外部的MCU108--
南昌大学“卓越”辅导员培养工程建设跳线1--2和 3--4ON--->NucleoOFF--->ST-LinkST-Link仿真器调试引脚外扩SWD调试接口简化电路与板载MCU相连ST-Link仿真器简化电路ST-Link仿真器109--
南昌大学“卓越”辅导员培养工程建设引脚CN4描述1VDD_TARGET与目标板的电源连接2SWCLK与目标板MCU的SWCLK引脚连接3GND与目标板的地连接4SWDIO与目标板MCU的SWDIO引脚连接5NRST与目标板MCU的RESET引脚连接6SWO保留对外调试接口CN4引脚说明调试引脚说明ST-Link仿真器110--
南昌大学“卓越”辅导员培养工程建设调试接口位置ST-Link仿真器第一脚位置SWD调试接口CN4111--
南昌大学“卓越”辅导员培养工程建设连接实物图ST-Link仿真器目标板Nucleo开发板去掉CN2跳线连接CN4的1~4脚VDD_TargetSWCLKGNDSWDIO112最小系统:保证MCU正常工作的最小电路组成单元自制STM32F407ZTE6核心板自制STM32F407ZTE6核心板电源、复位、晶振及调试信号电源电路数字部分电源模拟部分电源参考电压RTC&后备区域供电引脚RC低通滤波器自制STM32F407ZTE6核心板STM32复位引脚NRST保持低电平状态时间1~4.5ms即可复位上电复位复位按键复位自制STM32F407ZTE6核心板复位电路BOOT启动电路自制STM32F407ZTE6核心板下载调试电路晶振电路高速晶振电路高速晶振低速晶振自制STM32F407ZTE6核心板串口一键下载电路自制STM32F407ZTE6核心板自制STM32F407ZTE6核心板主控芯片设计外围电路设计1自制STM32F407ZTE6核心板外围电路设计2自制STM32F407ZTE6核心板自制STM32F407ZTE6核心板实物图本节结束--
南昌大学“卓越”辅导员培养工程建设1.4STM32微控制器开发环境的搭建STM32Cube生态系统介绍ST-Link仿真器的驱动安装及固件升级MDK-ARM软件的下载及安装本节内容STM32CubeMX软件的下载及安装了解STM32Cube生态系统的组成完成STM32微控制器开发环境的搭建了解STM32CubeMX软件的特点及开发流程教学目标1.4.1 STM32Cube生态系统介绍--STM32Cube…NucleoDiscovery探索套件Evaluation全功能开发板Nucleo扩展嵌入式软件软件开发工具软件STM32Cube生态系统=
硬件
+软件生态系统硬件南昌大学“卓越”辅导员培养工程建设STM32CubeSTM32Cube生态系统芯片配置工具集成开发环境软件部分系统监控工具专注垂直领域应用的扩展包程序下载工具--
南昌大学“卓越”辅导员培养工程建设STM32Cube全流程覆盖软件开发工具覆盖嵌入式系统软件开发的整个流程--
南昌大学“卓越”辅导员培养工程建设243图形化方式配置时钟、片内外设,自动生成初始化代码1自动生成工程框架,支持MDK、EWARM等多种开发环境集成MCU
Finder功能,便于用户进行芯片选型提高开发效率,聚焦业务层的设计STM32Cube基本特点--
南昌大学“卓越”辅导员培养工程建设STM32CubeSTM32
选型/评估板选型/MCU交叉选型引脚分配中间件配置/插件安装&
配置初始代码项目生成参考手册数据手册应用文档软件插件包MCU固件包使用流程引脚配置学“卓越”辅导员培养工程建设--
南昌大STM32CubeMCU固件包STM32微控制器各个产品系列都有独立的MCU固件包STM32CubeF1STM32CubeF4--
南昌大学“卓越”辅导员培养工程建设STM32Cube垂直应用STM32
芯片STM32
生态系统电机人工智能信息安全云连接图形界面…STM32生态系统:通用
+
垂直数据采集数据清理和标注建立神经网络拓扑结构神经网络模型训练基于神经网络对新数据进行分析处理转换成为MCU优化的代码--
南昌大学“卓越”辅导员培养工程建设人工智能STM32Cube123451.4.2 STM32CubeMX的下载及安装STM32CubeMX安装步骤第一步:安装应用软件下载STM32CubeMX软件并安装第二步:安装MCU固件包在线安装用户所选用的STM32微控制器对应的MCU固件包STM32CubeMX软件下载地址点击下载,下载之前将会提示在意法半导体官网进行用户注册软件版本/stm32cubemxSTM32CubeMXJava开发环境/en/download/manual.jsp64位操作系统STM32CubeMX安装方法点击Java开发环境安装包安装过程使用默认配置Java开发环境安装方法安装STM32CubeMX安装方法桌面上将生成软件快捷图标解压安装双击安装文件进行软件安装注意:安装路径不能包含中文,建议使用默认的安装路径安装过程使用默认配置STM32CubeMX软件的安装方法STM32CubeF4启动安装固件包找到STM32F4点击三角箭头勾选最新的固件包点击Install
Now按钮进行固件包的在线安装123如已有安装包,可选本地安装,点From
Local,速度更快!STM32CubeF4安装完成标志方框变为绿色,表明固件包已经成功安装1.5
MDK-ARM软件的下载及安装--
南昌大学“卓越”辅导员培养工程建设243支持源代码的编辑、编译、程序的下载和调试等多种功能1编译器和器件支持包分离,可根据需求安装,减小软件大小提供多种中间件,如RTOS和GUI等,提高开发效率强大的仿真功能,可以仿真微控制器片内的所有资源MDK-ARM基本特点MDK-ARM安装步骤第一步:安装应用软件下载MDK-ARM软件并安装第二步:安装器件支持包下载并安装用户所选用的微控制器对应的器件支持包MDK-ARM下载地址/download/product/点击下载,下载前需要填写用户相关信息(姓名、邮箱地址)MDK-ARM安装方法桌面上将生成软件快捷图标MDK-ARM安装包安装过程使用默认配置注意:安装路径不能包含中文,建议使用默认的安装路径MDK-ARM软件的安装方法安装MDK-ARM安装路径MDK-ARM安装路径器件支持包安装路径KeilMDK器件支持包的安装MDK-ARM关闭安装工具1取消勾选2关闭欢迎界面关闭器件支持包安装工具3器件支持包MDK-ARMSTM32F4器件支持包下载地址:/dd2/pack器件支持包版本号下载按钮安装方法安装方法在线安装 直接安装MDK-ARM器件支持包的两种安装方法2016年全国辅导员工作精品项目
--
南昌大学“卓越”辅导员培养工程建设在线安装启动MDK,在主界面的工具栏点击“PackInstaller”图标点击“Install”按钮在线安装器件支持包安装完成后,按钮名称改为“Up
to
date”MDK-ARM直接安装MDK-ARM点击下载的器件支持包路径自动设置为MDK安装时的器件支持包路径keilMDK5.37以后的版本,默认的编译器是V6.18版本,AC5(ARMCC)编译器不再默认安装,需要独立安装.安装AC5.06MDK-ARM点击ARCCV5.06编译器下载ArmCompiler5.06update7(build960):/s/1ND3vKLzqxanWVP304txRtQ提取码:idvc安装AC5.06MDK-ARM注意:编译器的安装路径:①需要放在keil安装目录下的ARM下目录,否则会找不到license路径。②安装路径不要有特殊字符,否则编译时会报错。新建一个文件夹设置编译器安装完成后,在KEIL中设置编译器,点击“”MDK-ARM配置编译器MDK-ARM加载编译器以管理员身份再次打开MDK,加载一个正点原子早期的流水灯项目,点选keil快捷菜单的魔术棒“”,弹出如下界面,将编译器重新配置为V5.06版,配置好后,点击OK按钮。MDK-ARM注册MDK-ARM以管理员身份再次打开MDK,进入软件选择File→LicanceManagement,复制CID号MDK-ARM打开注册机软件以管理员身份打开注册机软件keygen.exe粘贴刚复制keil的CID号到此处,选择ARM,点击Generate按钮,得到注册号并复制MDK-ARM注册MDK软件粘贴注册号,点击添加进行注册(出现如下图所示,即代表注册成功)①粘贴刚刚注册机生成的序列号②点击MDK-ARMKeil破解过程中,keygen.exe注册机软件被识别为病毒文件你可能会遇到:Keil安装过程中,需要进行注册工作,但是在下载注册机的压缩包时,可能会遇到了文件一直被识别为病毒文件的问题。这时我们应该如何解决呢?MDK-ARM1.6 ST-Link仿真器驱动程序的安装--
南昌大学“卓越”辅导员培养工程建设ST-Link安装方法默认驱动程序路径:C:\Keil_v5\ARM\STLink\USBDriver利用MDK软件自带的驱动程序64位操作系统的驱动程序32位操作系统的驱动程序--ST-Link安装成功标志ST-Link虚拟串口ST-Link驱动将Nucleo开发板与电脑连接->右键我的电脑->
属性->
设备管理器ST-Link固件升级程序默认升级程序路径:C:\Keil_v5\ARM\STLink固件升级程序名称:ST-LinkUpgrade.exe点击“Device
Connect”按钮连接ST-Link仿真器(点击之前确保仿真器和电脑相连)1点击“Yes”按钮进行固件升级2正确连接后,将显示仿真器固件库版本及仿真器类型一般不建议升级--
南昌大学“卓越”辅导员培养工程建设ST-Link出厂程序电源指示灯和通信状态指示灯LED1将开启,
用户指示灯LED2将闪烁;按下用户按键K1(蓝色键帽);通过多次点击K1按键,观察用户指示灯LED2的变化。(基于Nucleo开发板)本节结束--
南昌大学“卓越”辅导员培养工程建设主讲人:靳光明1.8 STM32CubeMX软件的使用HAL库的基本特点利用MDK软件编写应用程序本节内容STM32CubeMX软件的使用步骤了解HAL库的基本特点熟练掌握MDK软件的程序编写和程序下载方法熟练掌握STM32CubeMX软件的使用流程教学目标1.8.1 HAL库的基本特点主讲人:靳光明学“卓越”辅导员培养工程建设--
南昌大HAL库MCU固件包STM32微控制器各个产品系列都有独立的MCU固件包例程中间件HAL库HAL库属于MCU固件包的一部分HAL库路径HAL库查找HAL库存放路径的方法:① 启动CubeMX软件② Help->Updater
Settings默认HAL库路径MCU固件包HAL库STM32Cube_FW_F4_1.24.2DocumentsDriversMiddlewareProjectsUtilitiesMCU固件包文件结构关于MCU固件包和HAL库使用的官方文档各类支撑文件,如字体文件和图形应用例程中使用的图片文件等MCU固件包HAL库CMSISSTM32F4xx_HAL_DriverBSP由ARM公司提供的Cortex微控制器软件接口标准,包括Cortex内核寄存器定义、启动文件等Drivers文件夹基于HAL库开发的官方开发板的板级支持包,提供指示灯、按键等外围电路的驱动程序STM32微控制器片内外设的HAL库驱动文件stm32f4xx_hal_ppp.hstm32f4xx_hal_ppp.cDrivers核心内容MiddlewaresSTSTemWinSTM32_AudioSTM32_USB_Device_LibrarySTM32_USB_Host_LibraryThird
PartyFatFSFreeRTOSLibJPEGLwIPPolarSSLMCU固件包HAL库Middlewares文件夹ProjectsSTM32Fx-DiscoveryTemplatesExamplesApplicationsDemonstations三类官方开发板MCU固件包HAL库Projects文件夹各集成开发环境的工程模板针对MCU片内外设的简单例程,如GPIO、UART等针对单个中间件的应用例程针对多个中间件的综合应用例程--
南昌大学“卓越”辅导员培养工程建设三种库比较ST免费提供可移植性存储空间占用执行效率易用性完备性硬件覆盖范围标准外设库++++++++++++STM32CubeHAL++++++++++++++LL++++++++++++HAL库标准库、HAL库和LL库的对比--
南昌大学“卓越”辅导员培养工程建设官方文档UM1718:STM32CubeMX软件使用参考手册UM1725:STM32Cube
硬件抽象层驱动使用参考手册HAL库1.8.2 STM32CubeMX使用步骤主讲人:靳光明--
南昌大学“卓越”辅导员培养工程建设243图形化方式配置时钟、片内外设,自动生成初始化代码1自动生成工程框架,支持MDK、EWARM等多种开发环境集成MCU
Finder功能,便于用户进行芯片选型提高开发效率,聚焦业务层的设计基本特点STM32CubeMX--
南昌大学“卓越”辅导员培养工程建设STM32CubeMX使用步骤1.
目标选择2.
引脚分配3.
外设配置4.
时钟配置5.
工程配置6.
程序编写在STM32CubeMX中完成在对应的IDE中完成演示例程1例程目标掌握STM32CubeMX软件使用步骤2例程内容控制Nucleo开发板上的用户指示灯LED2每隔1s闪烁演示例程:驱动指示灯STM32CubeMX建议STM32CubeMX建议用户在桌面上新建一个名为CubeMX的文件夹,用于存放本课程的例程代码。对于STM32微控制器的外设学习,可以再建立子文件夹:按照外设名建立,如GPIO、EXTI、TIMER、UART等。注意:CubeMX建立的工程必须在英文路径下。1 目标选择菜单栏已存在工程新建工程软件管理1234安装/卸载固件包检查软件更新交叉选型基于芯片选择基于芯片方式新建工程启动界面基于开发板标签页切换筛选器123芯片文档4芯片/开发板列表框芯片/开发板选择界面12双击STM32CubeMX目标选择输入芯片型号2 引脚分配STM32CubeMX配置主界面导航栏功能标签页生成代码123引脚分配及外设和中间件配置系统时钟设置工程设置系统功耗估算配置主界面完成CubeMX软件的所有配置操作STM32CubeMX配置主界面导航栏功能标签页生成代码123引脚分配及外设和中间件配置系统时钟设置工程设置系统功耗估算配置主界面完成CubeMX软件的所有配置操作类别栏用于外设及中间件配置21放大/缩小/旋转引脚图芯片引脚图用于引脚分配STM32CubeMX查找引脚12在对应引脚搜索框输入要分配的引脚名对应引脚将会闪烁STM32CubeMX选择引脚功能12单击PA5Nucleo开发板上利用PA5引脚作为通用I/O控制指示灯LED23 外设配置① System
Core:用于配置GPIO、时钟源、中断系统以及系统相关的外设② Analog:用于配置模/数和数/模转换外设③ Timers:用于配置定时器和实时时钟外设④ Connectivity:用于配置I2C、SPI和UART等连接外设⑤ Multimedia:用于配置I2S等音频数据传输外设⑥ Computing:用于配置CRC校验外设⑦ Middleware:用于配置RTOS和GUI等中间件STM32CubeMX配置时钟模式展开或收起配置窗口Disable:内部时钟BYPASS:旁路时钟Crystal:晶振/陶瓷振荡器STM32CubeMX配置调试接口STM32CubeMX配置GPIO单击指示灯电路PA5输出高电平,指示灯LD2开启PA5输出低电平,指示灯LD2关闭高电平驱动方式STM32CubeMXSTM32CubeMX配置GPIO初始电平引脚模式上/下拉电阻引脚速度引脚名称配置GPIO参数4 时钟配置主讲人:靳光明时钟树STM32CubeMX时钟源模块1234① 外部低速时钟LSE:32.768KHz② 内部低速时钟LSI
:32KHz③ 内部高速时钟HSI:16MHz④ 外部高速时钟LSE:震荡模式:4MHz~26MHz晶振旁路模式:1MHz~50MHz信号时钟配置步骤1234① 修改时钟源频率
:25→
8②
选择锁相环输入时钟
:HSE③ 选择系统时钟源:PLLCLK④ 设置HCLK时钟频率:100,并回车5 工程配置STM32CubeMX配置模块工程管理代码生成高级设置工程名称123工程路径选择IDE工程管理完成工程名称和工程路径设置后,将自动在CubeMX文件夹下新建一个名为Led_Flash的文件夹工程管理代码生成设置复制所有库复制必要库引用参考片内外设初始化采用独立文件设置模拟功能使能断言语句、模板设置、STM32CubeMX高级设置选择HAL库或者LL库由CubeMX生成的外设初始化函数是否使用CubeMX所生成外设初始化函数STM32CubeMX生成工程工程未打开选择“Open
Project”工程已打开选择“Close”生成基于MDK-ARM集成开发环境的工程STM32CubeMX生成工程工程未打开选择“Open
Project”工程已打开选择“Close”生成基于MDK-ARM集成开发环境的工程1.8.3 在MDK中编写应用程序251 菜单栏工具栏3 工程窗口4 代码编辑窗口信息输出窗口MDK-ARM软件主界面MDK-ARM工程框架1234工程名称①MDK-ARM组:启动代码文件②User组:用户编程文件③HAL_Driver组:HAL库驱动文件④CMSIS组:系统初始化文件//包含头文件//
时钟初始化函数声明//
GPIO引脚初始化函数声明#include
"main.h"void
SystemClock_Config(void);void
MX_GPIO_Init(void);int
main(void)5.
{HAL_Init();SystemClock_Config();MX_GPIO_Init();while
(1)//
HAL库初始化//
时钟初始化//
GPIO引脚初始化//
while无限循环6.7.8.9.10. {11. }12.}main.c删除注释语句及内部函数添加控制引脚电平状态变化以及延时1s的代码--
南昌大学“卓越”辅导员培养工程建设MDK-ARM指示灯控制引脚PA5对应的端口号为GPIOA,引脚号为GPIO_PIN,函数调用形式:HAL_GPIO_TogglePin(GPIOA,GPIO_PIN5)接口函数:HAL_TogglePin函数原型voidHAL_GPIO_TogglePin(GPIO_TypeDef*
GPIOx,uint16_t
GPIO_Pin)功能描述翻转引脚电平状态入口参数1GPIOx:引脚端口号,范围是
GPIOA
~GPIOK入口参数2GPIO_Pin:引脚号, 范围是
GPIO_PIN0
~
GPIO_PIN15返回值
无注意事项
无--
南昌大学“卓越”辅导员培养工程建设接口函数:HAL_Delay函数原型voidHAL_Delay(uint32_tDelay
)功能描述延时函数,提供以ms单位的延时入口参数Delay:需要的延时时间,以ms为单位返回值无注意事项延时功能利用系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保密宣传教育月活动总结(一)
- 过三点的圆课件 2026-2027学年人教版九年级数学上册
- 4 螺纹紧固件基本知识及其画法
- 社交能力测试题及答案
- 2026年一建市政工程真题改编试卷及答案
- 热量 比热容第2课时课件2026-2027学年人教版物理九年级全一册
- 2026年一建矿业工程综合拔高试卷及答案
- 2026年一建建筑实务考前综合仿真测评试卷及答案
- 2026年一建建筑实务考前高频考点特训试卷及答案
- 2026桂城社区面试题目及答案
- GB/T 21650.1-2026压汞法和气体吸附法测定固体材料孔径分布和孔隙度第1部分:压汞法
- 中成药合理应用培训课件
- 慢阻肺患者AI呼吸管理方案
- 有限空间作业人员安全知识考核试卷及答案
- 2025AuSPEN共识声明:再喂养综合征
- 自控分包合同范本
- 保险中介合规培训
- 雨课堂学堂云在线《核反应堆物理分析(下)(华北电大 )》单元测试考核答案
- 2025年希望杯IHC-三年级真题(含答案)
- 呼吸功能训练指导
- 水钟课件教学课件
评论
0/150
提交评论