物联网嵌入式技术 课件全套 张青 项目1-9 用“芯”点亮LED灯 -智能住宅防盗系统_第1页
物联网嵌入式技术 课件全套 张青 项目1-9 用“芯”点亮LED灯 -智能住宅防盗系统_第2页
物联网嵌入式技术 课件全套 张青 项目1-9 用“芯”点亮LED灯 -智能住宅防盗系统_第3页
物联网嵌入式技术 课件全套 张青 项目1-9 用“芯”点亮LED灯 -智能住宅防盗系统_第4页
物联网嵌入式技术 课件全套 张青 项目1-9 用“芯”点亮LED灯 -智能住宅防盗系统_第5页
已阅读5页,还剩1760页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目1用“芯”点亮LED灯物联网嵌入式技术项目1用“芯”点亮LED灯引导案例:在2022年初进行的北京冬奥会开幕式上,奥运五环作为奥运会的灵魂标识,受到了所有人的关注,而此次冬奥会的冰五环从冰立方中逐渐亮相的过程着实让人惊艳了一把。在欣赏这惊艳一幕的同时也让人好奇这是如何做到的。大家试想一下,身边的LED灯的例子还有那些呢?它们又是如何工作起来的?项目一用“芯”点亮LED灯引导案例:项目任务

任务1让“芯”动起来任务2用“芯”点亮一盏LED灯任务3制作花样流水灯项目1用“芯”点亮LED灯职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1让“芯”动起来认识Cortex-M3嵌入式MCU;掌握MDK-ARM开发环境的搭建方法;掌握STM32CubeMX开发环境的搭建方法;掌握使用STM32CubeMX创建工程和生成代码的方法。能使用STM32CubeMX和MDK-ARM软件,正确搭建STM32的开发环境;能熟练使用STM32CubeMX创建工程和生成代码。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1让“芯”动起来任务描述:某活动开幕式场地需要制作流水灯作为装饰,微控制器使用STM32F103VET6,需要完成STM32的开发环境的搭建。任务要求:正确安装STM32CubeMX软件;正确安装嵌入式软件包;创建工程。任务描述与要求02职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1让“芯”动起来STM32基础知识STM32软件开发库STM32软件开发模式123知识链接03STM32的集成开发环境的选择4STM32基础知识1嵌入式系统概述ARM处理器23STM32微控制器命名规则45应用领域嵌入式系统概述四轴无人机及拆解电路嵌入式系统概述标号①:处理器,使用STM32系列,完成整个系统的控制;标号②:电源管理芯片,主要完成电池的管理;标号③:舵机控制部分,驱动无人机螺旋桨转动;标号④:射频电路,负责与遥控器之间的射频控制通信;标记⑤:指示灯,提示信号接收状态及电池情况。嵌入式系统概述想一想,你知道哪些处理器?嵌入式系统中的处理器可以分成四大类:1微处理器MPU2微控制器MCU3数字信号处理器DSP4片上系统SOCSTM32基础知识1嵌入式系统概述ARM处理器23STM32微控制器命名规则45应用领域ARM处理器

ARM公司是全球领先的半导体知识产权提供商,不制造芯片,不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。ARM是啥?ARM是“英国芯片设计公司”的缩写ARM是AdvancedRISCMachine的缩写0102

ARM是与X86平级的CPU架构,它使用RISC(精简指令集计算机),虽然整体性能不如X86架构特有的CISC(复杂指令集计算机),但其成本低、功耗低且效率高。Cortex-A系列-高端的基于虚拟内存的操作系统和多媒体应用:智能手机智能本和上网本电子书阅读器数字电视家用网关Cortex-M系列-面向具有确定性的微控制器应用的成本敏感型解决方案微控制器混合信号设备智能传感器汽车电子和气囊Cortex-R系列-高性能实时控制系统汽车制动系统动力传动解决方案大容量存储控制器网络和打印ARM处理器ARM处理器ARM只提供技术,芯片由对应的厂商生产STM32基础知识1嵌入式系统概述ARM处理器23STM32微控制器命名规则45应用领域STM32微控制器STM32就是指ST公司开发的32位微控制器(MicroControllerUnit,简称MCU)。STM32基础知识1嵌入式系统概述ARM处理器23STM32微控制器命名规则45应用领域命名规则命名规则STM32F103VET6含义你能说出STM32F103C8T6型号的含义吗?STM32基础知识1嵌入式系统概述ARM处理器23STM32微控制器命名规则45应用领域应用领域找一找身边还有哪些设备可以使用STM32微控制器?谢谢大家学习汇报人:XXX汇报时间:XX年XX项目1用“芯”点亮LED灯物联网嵌入式技术STM32基础知识STM32软件开发库STM32软件开发模式123知识链接03STM32的集成开发环境的选择4STM32软件开发库ST公司提供的软件开发库主要有:标准外设库、HAL库与LL库和STM32Snippets示例代码集合。开发库性能对比STM32软件开发库库对不同芯片的支持情况对比比较一下哪个库比较好?STM32基础知识STM32软件开发库STM32软件开发模式123知识链接03STM32的集成开发环境的选择4STM32软件开发模式基于寄存器的开发模式优点:代码简练、执行效率高缺点:费时耗力;维护难,移植性差。基于标准外设库的开发模式优点:容错性好;维护简单缺点:速度相对寄存器级偏慢基于STM32Cube的开发模式优点:自动生成基HAL库或LL库的初始代码框架;代码移植性最好缺点:需掌握STM32基础知识和外设工作原理STM32软件开发模式01图形化配置02初始化代码03编辑,编译使用STM32CubeMX对MCU片上外设进行配置生成基于HAL库或LL库的初始化代码将生成的代码导入集成开发环境进行编辑、编译和运行基于STM32Cube的开发流程如下:STM32基础知识STM32软件开发库STM32软件开发模式123知识链接03STM32的集成开发环境的选择4

采用“STM32CubeMX+MDK-ARM”的开发工具STM32的集成开发环境的选择图形化配置使用STM32CubeMX对MCU片上外设进行配置初始化代码生成基于MDK-ARM集成开发环境的初始代码编辑、编译添加功能逻辑代码,完成应用开发,进行编辑、编译和运行职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1让“芯”动起来任务准备04序号设备/资源名称数量是否准备到位(√)1STM32CubeMX安装包1

2MDK-ARM集成开发环境安装包1

任务实施前必须先准备好以下设备和资源职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1让“芯”动起来下载STM32CubeMX安装包安装STM32CubeMX下载MDK-ARM安装包123任务实施05安装MDK-ARM开发环境利用STM32CubeMX进行功能配置生成初始化代码456STM32CubeMX下载地址:https:///stm32cube下载STM32CubeMX安装包选择工具与软件,搜索STM32CubeMX搜索结果里点击STM32CubeMX下载STM32CubeMX安装包点击获取软件下载STM32CubeMX安装包点击“获取软件”下载软件下载前需要提前注册并登录。下载STM32CubeMX安装包安装STM32CubeMX下载MDK-ARM安装包123任务实施05安装MDK-ARM开发环境利用STM32CubeMX进行功能配置生成初始化代码4561.安装JavaRunTimeEnvironment(简称JRE)JRE下载地址:https://www.安装STM32CubeMXSTM32CubeMX软件的运行依赖JavaRunTimeEnvironment,一定要先安装!安装STM32CubeMX1.安装STM32CubeMX注意安装路径不能使用中文!安装STM32CubeMX1.安装嵌入式软件包STM32F103VET6属于STM32F1系列,如果是其它型号,需要正确选择对应软件包!谢谢大家学习汇报人:XXX汇报时间:XX年XX项目1用“芯”点亮LED灯物联网嵌入式技术下载STM32CubeMX安装包安装STM32CubeMX下载MDK-ARM安装包123任务实施05安装MDK-ARM开发环境利用STM32CubeMX进行功能配置生成初始化代码456下载MDK-ARM安装包下载地址为/download/product/,选择MDK-Arm。下载STM32CubeMX安装包安装STM32CubeMX下载MDK-ARM安装包123任务实施05安装MDK-ARM开发环境利用STM32CubeMX进行功能配置生成初始化代码456安装MDK-ARMSTM32CubeMX软件是用于生成基于HAL库的工程代码,STM32程序编写和调试使用Keil。(1)安装MDK-ARMMDK-ARM软件的安装路径器件支持包的安装路径安装MDK-ARM(2)安装器件支持包未安装时显示“Intall”,点击后在线安装。选择STM32微控制器型号下载STM32CubeMX安装包安装STM32CubeMX下载MDK-ARM安装包123任务实施05安装MDK-ARM开发环境利用STM32CubeMX进行功能配置生成初始化代码456STM32CubeMX配置工程参数(1)建立工程存放的文件夹在D盘根目录下建立的文件夹为“STM32_WorkSpace”,然后在该文件夹下新建文件夹“task1-1”用于保存本任务工程。(2)新建STM32CubeMX工程STM32CubeMX配置工程参数(2)新建STM32CubeMX工程输入STM32微控制器型号进行搜索选择具体型号STM32CubeMX配置工程参数(3)配置调试端口使能2线调试模式STM32CubeMX配置工程参数(4)配置MCU时钟时钟选择开发板上的晶体/陶瓷谐振器STM32CubeMX配置工程参数(4)配置MCU时钟STM32CubeMX配置工程参数(5)保存STM32CubeMX工程选择第一步建立的工程文件夹下载STM32CubeMX安装包安装STM32CubeMX下载MDK-ARM安装包123任务实施05安装MDK-ARM开发环境利用STM32CubeMX进行功能配置生成初始化代码456STM32CubeMX配置工程参数(6)生成代码IDE与集成开发环境一致,必须为MDK-ARMV5STM32CubeMX配置工程参数(6)生成代码每个外设生成一对.c和.h初始化文件STM32CubeMX配置工程参数(6)生成代码点击标记①打开MDK-ARM工程,若工程已经打开,此时选择标记②,关闭对话框。STM32CubeMX配置工程参数(6)生成代码如不能正常打开MDK-ARM,检查IDE设置是否为MDK-ARMV5,工程路径是否存在中文!职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1让“芯”动起来任务小结06职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1让“芯”动起来任务拓展07在MDK-ARM集成开发环境里我们经常要使用注释,如果使用中文作为注释时,默认状态下会出现乱码,请查找资料,对MDK-ARM进行配置,解决这个问题。任务思路任务要求1、思考并回答任务实施的思路。2、完成任务拓展。1、编辑器的编码方式不能识别中文;2、Edit-->Configuration-->GeneralEditorSettings。谢谢大家学习汇报人:XXX汇报时间:XX年XX项目1用“芯”点亮LED灯物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务设施05任务小结06任务拓展07任务2用“芯”点亮一盏LED灯理解Cortex-M3GPIO的工作原理;理解Cortex-M3数据手册的使用方法;理解硬件电路图的工作原理;掌握使用STM32CubeMX配置GPIO的方法;掌握程序烧写和调试的方法。能够依据电路图,正确在面包板上搭建电路;能够依据MCU的GPIO驱动技术,使用HAL库函数,正确的控制端口输出。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02知识链接03任务准备04任务设施05任务小结06任务拓展07任务2用“芯”点亮一盏LED灯任务描述:某活动开幕式场地需要制作大规模的LED灯阵作为装饰,微控制器使用STM32F103VET6,目前需要完成1个LED的测试。任务要求:正确搭建LED电路;完成工程的建立和代码的完善;正确下载程序到M3主控模块,并验证效果。任务描述与要求02职业能力目标01任务描述与要求02知识链接03任务准备04任务设施05任务小结06任务拓展07任务2用“芯”点亮一盏LED灯认识STM32Cube嵌入式软件包认识工程框架认识STM32GPIO123知识链接03分析LED电路4认识STM32Cube嵌入式软件包STM32Cube嵌入式软件包的默认安装路径为:C:\Users\XXX\STM32Cube\Repository,其中XXX为用户名。写程序先找HAL库手册,手册在哪里?嵌入式软件包的存放路径认识STM32Cube嵌入式软件包Documentation文件夹:MCU固件包和HAL库使用的官方文档。Middlewares文件夹:中间件组件。Projects文件夹:官方开发板的例程。Utilities文件夹:各类支撑文件,如字体文件和图形应用例程中使用的图片文件等。认识STM32Cube嵌入式软件包HAL库手册认识STM32Cube嵌入式软件包认识工程框架认识STM32GPIO123知识链接03分析LED电路4认识工程框架打开任务一建立的“task1-1”,观察MDK-ARM的软件主界面。菜单栏工具栏代码编辑窗口信息输出窗口工程窗口认识工程框架123工程的名称45启动代码文件用户编程文件系统的初始化文件HAL库驱动文件认识工程框架系统外设初始化系统时钟初始化GPIO功能初始化while(1){}为无限主循环用户自编程序可添加于各个“USERCODEBEGIN”与“USERCODEEND”标识之间。认识STM32Cube嵌入式软件包认识工程框架认识STM32GPIO123知识链接03分析LED电路4认识STM32GPIO1GPIO介绍GPIO的结构23GPIO工作模式GPIO介绍

查看STM32F103VET6手册,芯片的GPIO分成几组?每组有多少个引脚,如何表示?GPIO是什么?GPIO是通用输入输出端口的简称

,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。认识STM32GPIO1GPIO介绍GPIO的结构23GPIO工作模式GPIO的结构查看手册,分析当STM32F103引脚接5V电压时,会不会损坏?认识STM32GPIO1GPIO介绍GPIO的结构23GPIO工作模式GPIO工作模式GPIO初始化的结构体指针类型为GPIO_InitTypeDef,其原型定义如下:要初始化的GPIO引脚编号GPIO引脚的工作模式GPIO引脚的上拉/下拉形式GPIO引脚的输出速度

GPIO_MODE_INPUT:输入模式GPIO_MODE_OUTPUT_PP:推挽输出模式GPIO_MODE_OUTPUT_OD:开漏输州模式GPIO_MODE_AF_PP:推挽复用模式GPIO_MODE_AF_OD:开漏复用模式GPIO_MODE_AF_INPUT:复用输入模式GPIO_MODE_ANALOG:模拟量输入模式认识STM32Cube嵌入式软件包认识工程框架认识STM32GPIO123知识链接03分析LED电路4分析LED电路IO高电平:二极管截止,LED灯灭IO低电平:二极管导通,LED灯亮LED电路还可以如何连接?谢谢大家学习汇报人:XXX汇报时间:XX年XX项目1用“芯”点亮LED灯物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务设施05任务小结06任务拓展07任务2用“芯”点亮一盏LED灯任务准备04序号设备/资源名称数量是否准备到位(√)1M3核心模块12NEWLab实训平台13USB转串口线141k欧电阻15LED16杜邦线2任务实施前必须先准备好以下设备和资源职业能力目标01任务描述与要求02知识链接03任务准备04任务设施05任务小结06任务拓展07任务2用“芯”点亮一盏LED灯搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456搭建LED电路注意LED正负极不能接反搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456建立工程并生成代码第一步新建文件夹“task1-2”用于保存本任务工程第二步新建STM32CubeMX工程第三步配置调试端口:SerialWire第四步配置MCU时钟:HCLK=72MHz,PCLK1=36MHz,PCLK2=72MHZ具体操作请参考任务1任务实施相关内容建立工程并生成代码第五步:配置LED灯相关的GPIO功能建立工程并生成代码第六步:保存工程并生成初始化代码初始化代码生成后打开MDK-ARM工程,如不成功检查两处:不能有中文必须为MDK-ARMV5搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456完善代码注意代码添加位置让LED不亮如何写,试一试?搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456编译程序编译允许生成HEX文件打开配置窗口HEX文件的名称搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456烧写程序(1)在设备管理器查看串口号,本图显示的串口号为COM3。如果设备不正常,说明驱动没有安装成功,请手动安装驱动。烧写程序(2)安装Flash烧写工具。烧写程序(3)打开FlashLoaderDemonstrator,设置参数。2.无法进入下一步参数必须一致JP1拨到“BOOT”,按下复位键。常见问题:1.串口找不到USB转串口线先连接,后打开软件烧写程序(4)在器件选择界面中选择标号①所示器件类型。烧写程序(5)HEX文件的路径为“用户文件夹\工程文件夹\MDK-ARM\工程名。烧写程序(6)烧写成功。搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456观察效果灯亮

程序下载入STM32芯片后,将JP1拨到“NC”,按下复位按键,我们将看到LED长亮。职业能力目标01任务描述与要求02知识链接03任务准备04任务设施05任务小结06任务拓展07任务2用“芯”点亮一盏LED灯任务小结06职业能力目标01任务描述与要求02知识链接03任务准备04任务设施05任务小结06任务拓展07任务2用“芯”点亮一盏LED灯任务拓展07对硬件连接图做修改,使用PC8连接LED灯,控制LED灯长亮。任务思路任务要求1、思考并回答任务实施的思路。2、完成任务拓展。1、修改LED电路,LED阴极连接PC8;2、在STM32CubeMX中GPIO里配置PC8;3、更新程序。谢谢大家学习汇报人:XXX汇报时间:XX年XX项目1用“芯”点亮LED灯物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务3

制作花样流水灯认识GPIO外设接口函数的定义;掌握Cortex-M3GPIO控制方法。能够依据电路图,正确在面包板上搭建电路;能够依据MCU的GPIO驱动技术,正确使用HAL库函数控制端口输出;能使用GPIO驱动技术控制LED流水灯闪烁。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务3控制LED流水灯闪烁任务描述:开幕式现场需要制作流水灯作为装饰,微控制器使用STM32F103VET6,采用4个LED灯实现,LED1亮1s后熄灭,LED2亮1s后熄灭,LED3亮1s后熄灭,LED4亮1s后熄灭,LED1亮1s后熄灭……,以此不断循环。任务要求:正确搭建LED电路;完成工程的建立和代码的完善;任务描述与要求02职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务3

制作花样流水灯端口初始化流水灯电路设计GPIO引脚定义345认识GPIO外设接口函数HAL库延时函数12知识链接03认识GPIO外设接口函数函数原型voidHAL_GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_Init);功能描述引脚初始化入口参数1GPIOx:引脚端口号,取值范围是GPIOA~GPIOG入口参数2GPIO_lnit:指向引脚初始化类型GPIO_InitTypeDef的结构体指针,该结构体包含指定引脚的配置参数返回值无注意事项该函数可以由CubeMX软件自动生成,不需要用户自己调用(1)HAL_GPIO_Init介绍认识GPIO外设接口函数(2)HAL_GPIO_DeInit函数函数原型voidHAL_GPIO_DeInit(GPIO_TypeDef*GPIOx,uint32_tGPIO_Pin);功能描述复位引脚到初始状态入口参数1GPIOx:引脚端口号,取值范围是GPIOA~GPIOG入口参数2GPIO_Pin:引脚号,取值范围是GPIO_PIN0~GPIO_PIN_15返回值无注意事项需要用户自己调用认识GPIO外设接口函数(3)HAL_GPIO_ReadPin函数函数原型GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);功能描述读取引脚状态入口参数1GPIOx:引脚端口号,取值范围是GPIOA~GPIOG入口参数2GPIO_Pin:引脚号,取值范围是GPIO_PIN0~GPIO_PIN_15返回值GPIO_PinState:表示引脚电平状态的枚举类型变量,当取值为:●GPIO_PIN_SET:表示读到高电平●GPIO_PIN_RESET:表示读到低电平注意事项需要用户自己调用想一想,此接口函数什么情况下使用?认识GPIO外设接口函数(4)HAL_GPIO_WritePin函数函数原型voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,GPIO_PinStatePinState);功能描述设置引脚输出高/低电平入口参数1GPIOx:引脚端口号,取值范围是GPIOA~GPIOG入口参数2GPIO_Pin:引脚号,取值范围是GPIO_PIN0~GPIO_PIN_15入口参数3GPIO_PinState:表示引脚电平状态的枚举类型变量,当取值为:●GPIO_PIN_SET:表示输出高电平●GPIO_PIN_RESET:表示输出低电平返回值无注意事项需要用户自己调用想一想,此接口函数什么情况下使用?认识GPIO外设接口函数(5)HAL_GPIO_TogglePin函数函数原型voidHAL_GPIO_TogglePin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)功能描述反转引脚电平入口参数1GPIOx:引脚端口号,取值范围是GPIOA~GPIOG入口参数2GPIO_Pin:引脚号,取值范围是GPIO_PIN0~GPIO_PIN_15返回值无注意事项需要用户自己调用想一想,此接口函数什么情况下使用?端口初始化流水灯电路设计GPIO引脚定义345认识GPIO外设接口函数HAL库延时函数12知识链接03HAL库延时函数函数原型voidHAL_Delay(uint32_tDelay)功能描述ms延时入口参数Delay:延时时间返回值无注意事项需要用户自己调用端口初始化流水灯电路设计GPIO引脚定义345认识GPIO外设接口函数HAL库延时函数12知识链接03端口初始化引脚号写法:“名称”_Pin引脚端口写法:“名称”_GPIO_Port在main.h里定义了端口的别名,方便我们编写代码,例如任务2定义了PC6的名称为“LED”,则有如下宏定义。端口初始化在gpio.c里有GPIO初始化函数MX_GPIO_Init推挽输出不上拉不下拉速率为低速端口初始化流水灯电路设计GPIO引脚定义345认识GPIO外设接口函数HAL库延时函数12知识链接03流水灯电路设计LED电路还可以如何连接?分析一下LED电路工作过程端口初始化流水灯电路设计GPIO引脚定义345认识GPIO外设接口函数HAL库延时函数12知识链接03GPIO引脚定义引脚的写法在“stm32f1xx_hal_gpio.h”中PC6用GPIO_PIN_6表示GPIO引脚定义

如果在STM32CubeMX中定义了PC6的UserLable为LED1,则main.h中生成了LED1引脚的宏定义。PC6也可以用LED1_Pin表示谢谢大家学习汇报人:XXX汇报时间:XX年XX项目1用“芯”点亮LED灯物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务3

制作花样流水灯任务实施04序号设备/资源名称数量是否准备到位(√)1M3核心模块1

2NEWLab实训平台1

3USB转串口线1

41k欧姆电阻4

5LED4

6杜邦线5

任务实施前必须先准备好以下设备和资源职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务3

制作花样流水灯搭建LED电路建立工程并生成代码完善代码123编译程序烧写程序观察效果456任务实施05搭建LED电路按图搭建电路,注意LED的正负极所连接位置!左侧为LED负极搭建LED电路建立工程并生成代码完善代码123编译程序烧写程序观察效果456任务实施05建立工程并生成代码第一步新建文件夹“task1-3”用于保存本任务工程第二步新建STM32CubeMX工程第三步配置调试端口:SerialWire第四步配置MCU时钟:HCLK=72MHz,PCLK1=36MHz,PCLK2=72MHZ具体操作请参考任务1任务实施相关内容建立工程并生成代码第五步:配置LED灯相关的GPIO功能PC6~PC9用户标签分别配置成“LED1~LED4”建立工程并生成代码第六步:保存工程并生成初始化代码初始化代码生成后打开MDK-ARM工程,如不成功检查两处:不能有中文必须为MDK-ARMV5搭建LED电路建立工程并生成代码完善代码123编译程序烧写程序观察效果456任务实施05完善代码(1)在main.c中定义公共变量num:变量num记录引脚号0x0040=GPIO_PIN_6即表示PC60x0080=GPIO_PIN_7即表示PC70x0100=GPIO_PIN_8即表示PC80x0200=GPIO_PIN_9即表示PC9完善代码(2)编写main()函数的主循环程序:这两条语句的作用是什么?搭建LED电路建立工程并生成代码完善代码123编译程序烧写程序观察效果456任务实施055编译程序

参考任务2任务实施对工程进行配置,确保编译通过,生成hex文件。烧写程序

参考任务2任务实施,使用FlashLoaderDemonstrator工具将hex文件烧写到M3核心模块。搭建LED电路建立工程并生成代码完善代码123编译程序烧写程序观察效果456任务实施05观察效果

程序下载入STM32芯片后,将JP1拨到“NC”,按下复位按键,我们将看到以下现象:现象为LED1亮1s后熄灭LED2亮1s后熄灭LED3亮1s后熄灭LED4亮1s后熄灭职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务3

制作花样流水灯任务小结06职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务3

制作花样流水灯任务拓展07LED的数量为8个,控制8个LED灯每隔0.5秒闪烁1次,即LED1亮0.5s后熄灭,LED2亮0.5s后熄灭,……,最后LED8点亮0.5s后熄灭,以此不断循环。任务思路任务要求1、思考并回答任务实施的思路。2、完成任务拓展。1、修改LED电路,PB13连接LED5阴极;2、在STM32CubeMX中GPIO里配置PB13;3、更新程序,修改程序。谢谢大家学习汇报人:XXX汇报时间:XX年XX项目2隐蔽的柜台报警系统物联网嵌入式技术项目2隐蔽的柜台报警系统引导案例:2022年2月21日,某城银行突然出现一个劫匪,工作人员第一时间按下柜台下方的一键报警按纽,如图2-1所示,收到报警的警务人员,立刻连线接通并上报给了指挥中心,半小时后,通过高效、准确的命令下达与执行,成功抓捕了劫匪。本项目将制作简易报警系统。举例说说还有哪些报警系统?项目任务

任务1用轮询方式检测一键报警任务2用中断方式检测一键报警项目2隐蔽的柜台报警系统职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1用轮询方式检测一键报警1.掌握按键控制的方法(轮询方式);2.掌握蜂鸣器使用方法。能根据功能需求,正确添加代码,使用STM32实现按键检测;能根据功能需求,正确添加代码,使用GPIO驱动蜂鸣器发声。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1用轮询方式检测一键报警任务描述:用轮询方式检测一键报警,当检测到按下按键蜂鸣器发声,抬起按键蜂鸣器停止发声。任务要求:正确使用轮询方式检测按键;正确进行按键消抖;使用方波驱动蜂鸣器发声。任务描述与要求02职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1用轮询方式检测一键报警蜂鸣器电路时序分析代码分析345知识链接03GPIO端口的数据输入功能按键状态的判断12STM32的GPIO端口的数据输入功能(1)GPIO端口的数据输入通道内部有可编程上拉/下拉电阻STM32的GPIO端口的数据输入功能(2)GPIO端口位的输入配置及上/下拉电阻使能KEY接低电平,K1需闭合,上拉KEY接高电平电路图,K2需闭合,下拉蜂鸣器电路时序分析代码分析345GPIO端口的数据输入功能按键状态的判断12知识链接03按键状态的判断5~20ms消抖既可以采用硬件消抖,也可以使用软件消抖。蜂鸣器电路时序分析代码分析345GPIO端口的数据输入功能按键状态的判断12知识链接03蜂鸣器电路有源蜂鸣器:BUZZ引脚高电平无源蜂鸣器:BUZZ引脚给500Hz~4.5KHz之间的脉冲频率信号

M3主控模块上,无源蜂鸣器蜂鸣器电路时序分析代码分析345GPIO端口的数据输入功能按键状态的判断12知识链接03时序分析HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);检测按键状态使用的语句是:查看M3主控模块的电路,分析一下按键工作过程?方波信号的频率设置为500Hz。主程序里不断的查询按键状态,如果按键按下,给蜂鸣器方波信号,控制蜂鸣器鸣叫;如果按键抬起,控制蜂鸣器停止鸣叫。蜂鸣器电路时序分析代码分析345GPIO端口的数据输入功能按键状态的判断12知识链接03代码分析500KHz的方波如图所示,1ms的时间本任务采用延时的方法。每隔1ms输出I/O口翻转一次。使用的语句为:HAL_GPIO_TogglePin(GPIOA,GPIO_Pin_8);谢谢大家学习汇报人:XXX汇报时间:XX年XX项目2隐蔽的柜台报警系统物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1用轮询方式检测一键报警任务准备04序号设备/资源名称数量是否准备到位(√)1M3核心模块1

2NEWLab实训平台13USB转串口线1任务实施前必须先准备好以下设备和资源职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1用轮询方式检测一键报警建立工程并生成代码完善代码112任务实施05编译程序烧写程序观察效果345建立工程并生成代码具体操作请参考项目1任务1任务实施相关内容第一步

新建文件夹“task2-1”用于保存本任务工程第二步

新建STM32CubeMX工程第三步

配置调试端口:SerialWire第四步配置时钟:HCLK=72MHzPCLK1=36MHzPCLK2=72MHZ建立工程并生成代码第五步:配置按键相关的GPIO功能按键引脚设为输入模式建立工程并生成代码第六步:配置蜂鸣器相关的GPIO功能初始态蜂鸣器不鸣叫,BUZZ输出“0”建立工程并生成代码第七步:保存工程并生成初始化代码初始化代码生成后打开MDK-ARM工程,如不成功检查两处:不能有中文必须为MDK-ARMV5建立工程并生成代码完善代码112任务实施05编译程序烧写程序观察效果345完善代码

打开main.c,在main()函数的“USERCODEENDWHILE”和“USERCODEBEGIN3”之间添加代码段。分析代码,500Hz方波是如何实现的?建立工程并生成代码完善代码112任务实施02编译程序烧写程序观察效果345编译程序编译允许生成HEX文件打开配置窗口HEX文件的名称建立工程并生成代码完善代码112任务实施02编译程序烧写程序观察效果345烧写程序

参考项目1任务2任务实施,使用FlashLoaderDemonstrator工具将hex文件烧写到M3核心模块。HEX文件的路径为“D:\STM32_WorkSpace\task2-1\MDK-ARM\task2-1\task2-1.hex”建立工程并生成代码完善代码112任务实施05编译程序烧写程序观察效果345观察效果

程序下载入STM32芯片后,将JP1拨到“NC”,按下复位按键,我们将看到以下现象:按下按键1蜂鸣器鸣叫抬起按键1蜂鸣器停止鸣叫职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1用轮询方式检测一键报警任务小结06职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1用轮询方式检测一键报警任务拓展07M3核心模块上的按键KEY2电路如图所示,尝试使用轮询方式检测按键KEY2,按下按键KEY2门铃发声,按键KEY2抬起门铃停止。任务思路1、在STM32CubeMX中GPIO里配置PD13为输入;2、更新程序,修改程序。任务要求1、思考并回答任务实施的思路。2、完成任务拓展。谢谢大家学习汇报人:XXX汇报时间:XX年XX项目2隐蔽的柜台报警系统物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务2

用中断方式检测一键报警理解Cortex-M3中断的工作原理;理解Cortex-M3GPIO口外部中断的配置方法。能够进行STM32CubeMX外部中断的设置;能使用STM32外部中断实现按键检测。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务2

用中断方式检测一键报警任务描述:用中断方式检测一键报警,当检测到按下按键蜂鸣器发声,抬起按键蜂鸣器停止发声。任务要求:正确使用外部中断方式检测按键;使用方波驱动蜂鸣器发声。任务描述与要求02职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务2

用中断方式检测一键报警STM32中断和异常STM32外部中断/事件控制器12知识链接03HAL库对中断的封装处理STM32外部中断处理流程34STM32中断和异常1中断概述STM32中断概述23NVIC简介中断概述中断是指处理器在执行某一程序的过程中,由于处理器系统内外的某种原因,而必须终止原程序的执行,转去执行相应的处理程序,待处理结束后,再回来继续执行被终止原程序的过程。中断是处理器处理外部突发事件的一个重要技术。STM32中断和异常1中断概述STM32中断概述23NVIC简介STM32中断概述STM32F103的系统异常有8个(如果把Reset和HardFault也算上的话就是10个)。STM32中断概述STM32F103外部中断有60个。这是外部中断部分清单,查看STM32F103手册“9.1.2中断和异常向量”STM32中断和异常1中断概述STM32中断概述23NVIC简介NVIC简介NVIC英文全称是NestedVectoredInterruptController,中文意思就是嵌套向量中断控制器。STM32支持16级优先级,使用4位表示,分组方式如下:第0组:所有4位用于指定响应子优先级第1组:最高1位用于指定抢占式优先级,最低3位用于指定子优先级第2组:最高2位用于指定抢占式优先级,最低2位用于指定子优先级第3组:最高3位用于指定抢占式优先级,最低1位用于指定子优先级第4组:所有4位用于指定抢占式优先级NVIC简介设置中断优先级分组,默认第四组STM32中断和异常STM32外部中断/事件控制器12知识链接03HAL库对中断的封装处理STM32外部中断处理流程34STM32外部中断/事件控制器STM32的每个IO都可以作为外部中断的中断输入口。普通IO口作为中断使用时需要指定中断线,即EXTI接口。EXTI0~EXIT4分别具有独立的中断通道,EXTI5~EXIT9共享同一个中断通道,EXTI10~EXIT15共享同一个中断通道。尾号相同的引脚一组,接入1个外部中断线,同组引脚只能有一个设置为外部中断功能。STM32中断和异常STM32外部中断/事件控制器12知识链接03HAL库对中断的封装处理STM32外部中断处理流程34HAL库对中断的封装处理

启动文件startupstm32fxxx.s中,存放初始化中断向量表。STM32中断和异常STM32外部中断/事件控制器12知识链接03HAL库对中断的封装处理STM32外部中断处理流程34STM32外部中断处理流程中断跳转跳转到该中断所对应的中断服务程序执行中断服务程序执行在stm32f1xx_it.c中对应的中断服务程序外部中断通用处理函数中断服务程序调用外部中断通用处理函数,调用外部中断回调函数执行用户编写的回调函数完成具体的中断任务处理STM32外部中断处理流程可以分为四步:谢谢大家学习汇报人:XXX汇报时间:XX年XX项目2隐蔽的柜台报警系统物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务2

用中断方式检测一键报警任务准备04序号设备/资源名称数量是否准备到位(√)1M3核心模块1

2NEWLab实训平台13USB转串口线1任务实施前必须先准备好以下设备和资源职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务2

用中断方式检测一键报警建立工程并生成代码完善代码112任务实施05编译程序烧写程序测试效果345建立工程并生成代码第一步

新建文件夹“task2-2”用于保存本任务工程第二步

新建STM32CubeMX工程第三步

配置调试端口:SerialWire第四步配置时钟:HCLK=72MHzPCLK1=36MHzPCLK2=72MHZ具体操作请参考项目1任务1任务实施相关内容建立工程并生成代码第五步:配置按键相关的GPIO功能按键引脚设为外部中断模式建立工程并生成代码第五步:配置按键相关的GPIO功能使能外部中断第六步

配置蜂鸣器相关的GPIO功能第七步

保存STM32CubeMX工程第八步生成初始代码建立工程并生成代码具体操作请参考项目2任务1和项目1任务1任务实施相关内容。建立工程并生成代码完善代码112任务实施05编译程序烧写程序测试效果345完善代码(1)定义按键状态变量在main.c中添加按键状态变量定义:完善代码(2)编写回调函数按下按键:KeyDown_Flag=1;抬起按键:KeyDown_Flag=0完善代码(3)编写主循环程序建立工程并生成代码完善代码112任务实施05编译程序烧写程序观察效果345编译程序

参考项目1任务2任务实施对工程进行配置,确保编译通过,生成hex文件。烧写程序

参考项目1任务2任务实施,使用FlashLoaderDemonstrator工具将hex文件烧写到M3核心模块。建立工程并生成代码完善代码112任务实施05编译程序烧写程序观察效果345观察效果

程序下载入STM32芯片后,将JP1拨到“NC”,按下复位按键,我们将看到以下现象:按下按键1蜂鸣器鸣叫抬起按键1蜂鸣器停止鸣叫职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务2

用中断方式检测一键报警任务小结06职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务2

用中断方式检测一键报警任务拓展07M3核心模块上的按键KEY2电路如图所示,尝试使用中断方式检测按键KEY2,按下按键KEY2门铃发声,按键KEY2抬起门铃停止。任务思路1、在STM32CubeMX中GPIO里配置PD13为外部中断输入,并使能中断;2、更新程序,修改程序。任务要求1、思考并回答任务实施的思路。2、完成任务拓展。谢谢大家学习汇报人:XXX汇报时间:XX年XX项目3实现电子秒表物联网嵌入式技术项目3实现电子秒表引导案例:你还知道哪些电子秒表?了解一下它们的功能。机械秒表电子秒表秒表旧称马表、跑表,是一种常用的测时仪器,多在径赛中计时用。项目任务

任务1使用定时器定时一秒任务2STM32控制数码管显示任务3实现电子秒表项目3实现电子秒表职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务一使用定时器定时一秒了解定时器/计数器的工作原理;掌握Cortex-M3定时器的工作模式;理解Cortex-M3定时器的配置方法;理解Cortex-M3定时器中断的配置方法;掌握Cortex-M3定时器的编程方法。能根据功能需求,使用STM32CubMX软件,正确配置STM32定时器;能根据功能需求,正确添加代码,操控STM32定时器实现基本定时器。职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务一使用定时器定时一秒任务描述:电子秒表的制作需要产生一个精确的1秒时间,本任务要求使用定时器产生1秒的时间,并控制LED灯1秒闪烁1次。任务要求:正确配置定时器;使用定时器中断方式产生1秒时间。任务描述与要求02职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务一使用定时器定时一秒STM32定时/计数器定时/计数功能的数据类型和接口函数12知识链接03使用定时器定时1秒定时器中断流程34STM32定时/计数器1定时/计数器分类定时/计数工作原理23三种计数模式4定时时间的计算定时/计数器分类STM32F103系列共有8个定时器,分为2个基本定时器TIM6和TIM7,4个通用定时器TIM2、TIM3、TIM4、TIM5,2个高级定时器TIM1和TIM8。定时器类型定时器编号计数器位数计数器类型捕获/比较通道数挂载总线/接口时钟定时器时钟高级定时器TIM1、TIM816位递增、递减、递增/递减4APB2/72MHz72MHz通用定时器TIM2、TIM3、TIM4、TIM516位递增、递减、递增/递减4APB1/36MHz72MHz基本定时器TIM6、TIM716位递增无APB1/36MHz72MHzSTM32定时/计数器1定时/计数器分类定时/计数工作原理23三种计数模式4定时时间的计算定时/计数工作原理基本定时器框图定时/计数工作原理定时器时钟TIMxCLKTIM2、TIM3、TIM4、TIM5、TIM6、TIM7的计数时钟TIM1、TIM8的计数时钟STM32定时/计数器1定时/计数器分类定时/计数工作原理23三种计数模式4定时时间的计算三种计数模式计数模式计数示意图计数过程向上计数模式从0开始递增计数,直到ARR,发生溢出。计数器重装为0,开始下一轮计数。向下计数模式从ARR开始递减计数,直到0,发生溢出。计数器重装为ARR,开始下一轮计数。中央对齐模式(向上/向下计数)从0开始递增计数,记到ARR-1,发生溢出;数器重装为ARR,然后开始向下计数直到1时发生溢出;然后计数器重装为0,开始下一轮计数。STM32定时/计数器1定时/计数器分类定时/计数工作原理23三种计数模式4定时时间的计算定时时间的计算计数器在CK_CNT的驱动下,计一个数的时间则是CK_CLK的倒数,即:所以产生一次中断的时间为:

STM32定时/计数器定时/计数功能的数据类型和接口函数12知识链接03使用定时器定时1秒定时器中断流程34定时/计数功能的数据类型和接口函数(1)HAL_TIM_Base_Init函数函数原型HAL_StatusTypeDefHAL_TIM_Base_Init(TIM_HandleTypeDef*htim)功能描述按照定时器句柄中指定的参数初始化定时器时基单元入口参数*htim:定时器句柄的地址返回值HAL_StatusTypeDef:HAL_OK初始化成功,HAL_ERROR:初始化失败注意事项该函数可以由CubeMX软件自动生成,不需要用户自己调用定时/计数功能的数据类型和接口函数(2)HAL_TIM_Base_Start函数函数原型HAL_StatusTypeDefHAL_TIM_Base_Start(TIM_HandleTypeDef*htim)功能描述在轮询方式下启动定时器运行入口参数*htim:定时器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示启动成功注意事项该函数在定时器初始化完成之后调用需要用户自己调用定时/计数功能的数据类型和接口函数(3)HAL_TIM_Base_Start_IT函数函数原型HAL_StatusTypeDefHAL_TIM_Base_Start_IT(TIM_HandleTypeDef*htim)功能描述使能定时器的更新中断,并启动定时器运行入口参数*htim:定时器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示启动成功注意事项该函数在定时器初始化完成之后调用需要用户自己调用定时/计数功能的数据类型和接口函数(4)HAL_TIM_Base_Stop函数函数原型HAL_StatusTypeDefHAL_TIM_Base_Stop(TIM_HandleTypeDef*htim)功能描述轮询方式下停止定时器运行入口参数*htim:定时器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示停止成功注意事项该函数在定时器初始化完成之后调用需要用户自己调用定时/计数功能的数据类型和接口函数(5)HAL_TIM_Base_Stop_IT函数函数原型HAL_StatusTypeDefHAL_TIM_Base_Stop_IT(TIM_HandleTypeDef*htim)功能描述中断方式下停止定时器运行入口参数*htim:定时器句柄的地址返回值HAL_StatusTypeDef:固定返回HAL_OK表示停止成功注意事项该函数在定时器初始化完成之后调用需要用户自己调用定时/计数功能的数据类型和接口函数(6)HAL_TIM_IRQHandler函数函数原型voidHAL_TIM_IRQHandler(TIM_HandleTypeDef*htim)功能描述所有定时器中断发生后的通用处理函数入口参数*htim:定时器句柄的地址返回值无注意事项函数内部先判断中断类型,并清除对应的中断标志,最后调用回调函数完成中断处理该函数可以由CubeMX软件自动生成,不需要用户自己调用定时/计数功能的数据类型和接口函数(7)HAL_TIM_PeriodElapsedCallback函数函数原型voidHAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef*htim)功能描述所有定时器中断发生后的通用处理函数入口参数*htim:定时器句柄的地址返回值无注意事项1.该函数由定时器中断通用处理函数HAL_TIM_IRQHandler调用,完成所有定时器的更新中断的任务处理2.函数内部需要根据定时器句柄的实例来判断是哪一个定时器产生的本次更新中断3.函数由用户根据具体的处理任务编写STM32定时/计数器定时/计数功能的数据类型和接口函数12知识链接03使用定时器定时1秒定时器中断流程34使用定时器定时1秒定时时间计算公式为:T=((PSC+1)×(ARR+1))/TIMxCLK基本定时器TIM6,递增计数,若:PSC=7200-1,ARR=10000-1,T=1s。STM32定时/计数器定时/计数功能的数据类型和接口函数12知识链接03使用定时器定时1秒定时器中断流程34定时器6递增计数,记到ARR时,触发更新中断在启动文件中找到中断服务程序TIM6_IRQHandlerTIM6_IRQHandler中调用定时器通用处理函数HAL_TIM_IRQHandlerHAL_TIM_IRQHandler调用更新中断回调函数HAL_TIM_PeriodElapsedCallback完成具体的任务定时器中断流程STM32定时器中断处理流程可以分为四步:谢谢大家学习汇报人:XXX汇报时间:XX年XX项目3实现电子秒表物联网嵌入式技术职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1使用定时器定时一秒任务准备04任务实施前必须先准备好以下设备和资源序号设备/资源名称数量是否准备到位(√)1M3核心模块12NEWLab实训平台13USB转串口线141k欧电阻15LED16杜邦线2职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1使用定时器定时一秒搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456搭建LED电路注意LED正负极不能接反搭建LED电路建立工程并生成代码完善代码123任务实施02编译程序烧写程序观察效果456建立工程并生成代码第一步

新建文件夹“task3-1”用于保存本任务工程第二步

新建STM32CubeMX工程第三步

配置调试端口:SerialWire第四步配置时钟:HCLK=72MHzPCLK1=36MHzPCLK2=72MHZ具体操作请参考项目1任务1任务实施相关内容建立工程并生成代码APB1Timerclocks为72MHz,即TIM2~TIM7的TIMxCLK为72MHz

定时器时钟配置建立工程并生成代码第五步:配置LED的GPIO功能建立工程并生成代码第六步:配置定时器TIM6的参数

PSC=7200-1ARR=10000-1T=1秒建立工程并生成代码第七步:配置定时器TIM6的中断

使能定时器6中断;抢占优先级=1子优先级=0建立工程并生成代码第八步

保存STM32CubeMX工程第九步

生成初始C代码工程,打开MDK-ARM工程具体操作请参考项目1任务1任务实施相关内容。搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456完善代码(1)启动TIM6并使能更新中断在main.c中添加:完善代码(2)编写TIM6更新中断服务程序每隔1秒进入一次回调函数,LED状态翻转一次回调函数是通用的,必须先判断一下是哪个定时器搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456编译程序

参考项目1任务2任务实施对工程进行配置,确保编译通过,生成hex文件。烧写程序

参考项目1任务2任务实施,使用FlashLoaderDemonstrator工具将hex文件烧写到M3核心模块。搭建LED电路建立工程并生成代码完善代码123任务实施05编译程序烧写程序观察效果456观察效果闪烁

程序下载入STM32芯片后,将JP1拨到“NC”,按下复位按键,我们将看到LED每隔1秒亮灭一次。职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1使用定时器定时一秒任务小结06职业能力目标01任务描述与要求02知识链接03任务准备04任务实施05任务小结06任务拓展07任务1使用定时器定时一秒任务拓展07使用定时器TIM2控制LED灯0.5秒闪烁1次。任务思路任务要求1、思考并回答任务实施的思路。2、完成任务拓展。1、在STM32CubeMX里配置定时器2;2、设置PSC和ARR值,定时0.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论