嵌入式系统应用技术(STM32)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序下载有多种方法:USB、串口、JTAG、SWD等,这几种方式,都可以用来给STM32下载代码。不过,我们最常用的,最经济的,就是通过串口给STM32下载代码。串口只能下载代码,并不能实时跟踪调试,而利用调试工具,比如JLINK、ULINK、STLINK等就可以实时跟踪程序。
3.1.
1)串口
2)flymcu软件
3.7.2硬件设计9
3.6.3软件设计10
3.6.4设计效果10
3.7 红外遥控模块11
3.7.1红外遥控简介11
3.7.2 硬件设计11
3.7.3 软件设计12
3.7.4 设计效果13
参考文献15
附录 部分代码16
1 前 言
1.1 课题研究背景
上世纪八十年代初,日本率先在电视产品中使用了红外遥控技术,使用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦SAA3010等,它的主要特点是遥控器内预置固定编码,一只遥控器 只能控制单一型号的电器。随着电子技术的发展,家用电器越来越普遍,人们希望以一只遥控器遥控所有家用电器,多用遥控器产生了。它的主要特点是:遥控器内预置多套编码,可供用户选择。如今,随着嵌入式的广泛应用,部分厂商推出了具备红外学习的遥控器,它的主要特点是:遥控器内置一个动态编码库,具备红外学习功能,可由用户自主录入编码。红外遥控具有结构简单,制作方便,成本低廉,抗干扰能力强,工作可靠性高等一系列优点。同时,由于红外遥控器件,工作电压低,功耗小,外围电路简单,因此,在日常生活中广泛应用,如彩电,录像机,音响空调,风扇,等其它的小型电器上。遥控距离在几米到十几米。在现代工业中已经广泛的使用,在高压,辐射,有毒气体,粉尘等环境下才用红外线遥控不仅安全可靠还可以有效的隔离干扰。红外线遥控的特点是不影响周围环境,不干扰其他设备。
4)JTAG/SWD JTAG/SWD
标准 20 针 JTAG/SWD 接口电路如图所示:
图 2.1.3 JTAG/SWD
5)LCD 模块接口
LCD 模块接口电路如图所示:
图 2.1.4 LCD 模块接口
图中的 T_MISO/T_MOSI/T_PEN/T_SCK/T_CS 连接在 MCU 的 PB2/PF9/PF10/PB1/PF11 上,这些信号用来实现对液晶触摸屏的控制(支持电阻屏和电容屏)。LCD_BL 连接在 MCU 的 PB0上,用于控制 LCD 的背光。液晶复位信号 RESET 则是直接连接在开发板的复位按钮上,和MCU 共用一个复位电路。
器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
3.
1)指示灯 DS0
2)蜂鸣器
蜂鸣器在硬件上也是直接连接好了的,蜂鸣器的驱动信号连接在 STM32 的 PB8 上。如图所示:
图 3.3.1 蜂鸣器与 STM32 连接原理图
3.
3.4.1
串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段,STM32的串口资源相当丰富的,功能也相当强劲。ALIENTEK精英STM32开发板所使用的STM32F103ZET6最多可提供5路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持LIN、支持调制解调器操作、智能卡协议和IrDA SIR ENDEC规范、具有DMA。
3.1.2硬件设计6
3.2 跑马灯模块6
3.2.1跑马灯简介6
3.2.2硬件设计6
3.3 蜂鸣器模块7
3.3.1蜂鸣器简介7
3.3.2硬件设计7
3.4串口通讯模块8
3.4.1串口通讯简介8
3.4.2硬件设计8
3.5ADC模块8
3.5.1ADC模块简介8
3.6.2硬件设计8
3.6 光敏传感器模块9
3.6.1光敏传感器简介9
图 2.1.7光敏传感器电路
图中的 LS1 就是光敏传感器,其实就是一个光敏二极管,周围环境越亮,电流越大,反之电流越小,即可等效为一个电阻,环境越亮阻值越小,反之越大,从而通过读取 LIGHT_SENSOR的电压,即可知道周围环境光线强弱。LIGHT_SENSOR 连接在 MCU 的 ADC3_IN6(ADC3 通道 6)上面,即 PF8 引脚。
3.4.
1)指示灯DS0
2)串口1
用到的串口1与USB串口并没有在PCB上连接在一起,需要通过跳线帽来连接一下。这里我们把P6的RXD和TXD用跳线帽与PA9和PA10连接起来。如图所示:
图3.5.1硬件连接图示意图
3.5
3.5.1
STM32拥有1~3个ADC(STM32F101/102系列只有1个ADC),这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字转换器。
嵌入式系统应用技术
课程设计
题目基于STM32嵌入式光敏红外遥感报警
系统的设计与实现
学生姓名专业班级
指导教师职称
所在单位
教学部主任
完成日期
1 前 言1
1.1 课题研究背景1
1.2 实验研究目的和意义1
2.STM32F103实验平台介绍1
2.1硬件资源1
3 详细设计6
3.1程序下载与调试6
3.1.1 简介6
3.7.
1) 指示灯 DS0
2)蜂鸣器
3) TFTLCD 模块
3 详细设计
3.1程序下载与调试
3.1.1 简介
MDK的一个强大的功能就是提供软件仿真,通过软件仿真,我们可以发现很多将要出现的问题,避免了下载到STM32里面来查这些错误,这样最大的好处是能很方便的检查在的问题,因为在MDK的仿真下面,你可以查看很多硬件相关的寄存器,通过观察这些寄存器,你可以知道代码是不是真正有效。另外一个优点是不必频繁的刷机,从而延长了STM32的FLASH寿命(STM32的FLASH寿命≥1W次)。
2.2
MDK 源自德国的 KEIL 公司,是 RealView MDK 的简称。在全球 MDK 被超过 10 万的嵌入式开发工程师使用。目前最新版本为:MDK5.14,该版本使用 uVision5 IDE 集成开发环境,是目前针对 ARM 处理器,尤其是 Cortex M 内核处理器的最佳开发工具。
3.
1)指示灯DSO
DS0 接 PB5,DS1 接 PE5。其连接原理图如图下所示:
图 3.2.1 LED 与 STM32F1 连接原理图
3.3 蜂鸣器模块
3.
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣
启动模式设置端口电路如图所示:
图 2.1.6启动模式设置接口
一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为1,BOOT1
为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设置都可以。
8)光敏传感器
一个光敏传感器,可以用来感应周围光线的变化,该部分电路如图所示:
加,形成光电流,它随入射光强度的变化而变化。当光线照射 PN 结时,可以使 PN 结中产生电
子一空穴对,使少数载流子的密度增加。这些载流子在反向电压下漂移,使反向电流增加。因
此可以利用光照强弱来改变电路中的电流。
利用这个电流变化,我们串接一个电阻,就可以转换成电压的变化,从而通过 ADC 读取
电压值,判断外部光线的强弱。
2.
2
1)MCU
它拥有的资源包括:64KB SRAM、512KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、2 个 DMA 控制器(共 12 个通道)、3 个 SPI、2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1 个 SDIO 接口、1 个 FSMC 接口以及 112 个通用 IO 口。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩 SRAM 和连接 LCD 等,通过 FSMC 驱动 LCD,可以显著提高 LCD 的刷屏速度,是 STM32F1 家族常用型号里面,最高配置的芯片
它有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
3.
1) 指示灯 DS0
2) TFTLCD 模块
3) ADC ADC 属于 STM32F1 内部资源。
4) 杜邦线
3.6 光敏
3.6.1
6)复位电路
复位电路如图所示:
图 2.1.5复位电路
因为 STM32 是低电平复位的,所以我们设计的电路也是低电平复位的,这里的 R2 和 C10构成了上电复位电路。同时,开发板把 TFT_LCD 的复位引脚也接在 RESET 上,这样这个复位按钮不仅可以用来复位 MCU,还可以复位 LCD。
7)启动模式设置接口
2)引出 IO 口
图 2.1.1引出 IO 口
图中 P1 P2 为 MCU 主 IO 引出口,这两组排针共引出了 106 个 IO 口,STM32F103ZET6总共有 112 个 IO,除去 RTC 晶振占用的 2 个,还剩 110 个,这两组主引出排针,总共引出了106 个 IO,剩下的 4 个 IO 口分别通过:P3(PA9&PA10)和 P5(PA2&PA3)这 2 组排针引出。
精英 STM32F103 板载了一个光敏二极管(光敏电阻),作为光敏传感器,它对光的变化非
常敏感。光敏二极管也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是
一个具有光敏特征的 PN 结,具有单向导电性,因此工作时需加上反向电压。无光照时,有很
小的饱和反向漏电流,即暗电流,此时光敏二极管截止。当受到光照时,饱和反向漏电流大大增
3)USB 串口/串口 1 选择接口
USB 串口和 STM32F103ZET6 的串口是通过 P3 连接起来的,如图所示:
图 2.1.2 USB 串口/串口 1选择ቤተ መጻሕፍቲ ባይዱ口
图中 TXD/RXD 是相对 CH340G 来说的,也就是 USB 串口的发送和接收引脚。而USART1_RX 和 USART1_TX 则是相对于 STM32F103ZET6 来说的。这样,通过对接,就可以实现 USB 串口和 STM32F103ZET6 的串口通信了。同时,P3 是 PA9 和 PA10 的引出口。
1.2 实验研究目的和意义
随着科学技术的进步,光谱信息成像化,雷达成像多极化,光学探测多向化,地学分析智能化,环境研究动态化以及资源研究定量化,大大提高了遥感技术的实时性和运行性,使其向多尺度、多频率、全天候、高精度和高效快速的目标发展,例如在水质监测、裸土湿度、遥感考古、赤潮遥感监等等,这些技术的发展极大地促进了生产生活的进步。通过对具备红外学习功能的遥控器进行市场调查,国内红外遥控编码学习技术虽比较成熟,但产品化程度较低,市场推广不够,主要原因在于设计者对用户需求的调查不够全面,以致产品不够实用,性价比较低。从用户操作方便实用的角度出发,本文自主设计具备红外学习、彩屏虛拟遥控界面借此促进红外遥控学习技术在国内市场的产品化推广。使用红外线遥控器也越来越频繁。因为各种红外线遥控编码的不同。使着各种红外线遥控器不能兼容。经常需要更换遥控器,这也给人们的生活带来不便。单片的机迅速发展,使这一问题得到了很好的改善。
MDK5 向后兼容 MDK4 和 MDK3 等,以前的项目同样可以在 MDK5 上进行开发(但是头文
件方面得全部自己添加), MDK5 同时加强了针对 Cortex-M 微控制器开发的支持,并且对传统的开发模式和界面进行升级,MDK5 由两个部分组成:MDK Core 和 Software Packs。其中,Software Packs 可以独立于工具链进行新芯片支持和中间库的升级。Software Packs(包安装器)又分为:Device(芯片支持),CMSIS(ARM Cortex 微控制器软件接口标准)和 Mdidleware(中间库)三个小部分。
3.2
3.
LED灯逐个闪亮,void LED_Init(void),该函数的功能就是用来实现配置PB5
和PE5为推挽输出。这里需要注意的是:在配置STM32外设的时候,任何时候都要先使能该外设的时钟。GPIO是挂载在APB2总线上的外设,在固件库中对挂载在APB2总线上的外设时钟使能是通过函数RCC_APB2PeriphClockCmd()来实现的。PB5输出高低电平从而控制LED0,也可以固件库操作和寄存器操作来实现IO口操作。
3.1.
1)串口
2)flymcu软件
3.7.2硬件设计9
3.6.3软件设计10
3.6.4设计效果10
3.7 红外遥控模块11
3.7.1红外遥控简介11
3.7.2 硬件设计11
3.7.3 软件设计12
3.7.4 设计效果13
参考文献15
附录 部分代码16
1 前 言
1.1 课题研究背景
上世纪八十年代初,日本率先在电视产品中使用了红外遥控技术,使用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦SAA3010等,它的主要特点是遥控器内预置固定编码,一只遥控器 只能控制单一型号的电器。随着电子技术的发展,家用电器越来越普遍,人们希望以一只遥控器遥控所有家用电器,多用遥控器产生了。它的主要特点是:遥控器内预置多套编码,可供用户选择。如今,随着嵌入式的广泛应用,部分厂商推出了具备红外学习的遥控器,它的主要特点是:遥控器内置一个动态编码库,具备红外学习功能,可由用户自主录入编码。红外遥控具有结构简单,制作方便,成本低廉,抗干扰能力强,工作可靠性高等一系列优点。同时,由于红外遥控器件,工作电压低,功耗小,外围电路简单,因此,在日常生活中广泛应用,如彩电,录像机,音响空调,风扇,等其它的小型电器上。遥控距离在几米到十几米。在现代工业中已经广泛的使用,在高压,辐射,有毒气体,粉尘等环境下才用红外线遥控不仅安全可靠还可以有效的隔离干扰。红外线遥控的特点是不影响周围环境,不干扰其他设备。
4)JTAG/SWD JTAG/SWD
标准 20 针 JTAG/SWD 接口电路如图所示:
图 2.1.3 JTAG/SWD
5)LCD 模块接口
LCD 模块接口电路如图所示:
图 2.1.4 LCD 模块接口
图中的 T_MISO/T_MOSI/T_PEN/T_SCK/T_CS 连接在 MCU 的 PB2/PF9/PF10/PB1/PF11 上,这些信号用来实现对液晶触摸屏的控制(支持电阻屏和电容屏)。LCD_BL 连接在 MCU 的 PB0上,用于控制 LCD 的背光。液晶复位信号 RESET 则是直接连接在开发板的复位按钮上,和MCU 共用一个复位电路。
器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
3.
1)指示灯 DS0
2)蜂鸣器
蜂鸣器在硬件上也是直接连接好了的,蜂鸣器的驱动信号连接在 STM32 的 PB8 上。如图所示:
图 3.3.1 蜂鸣器与 STM32 连接原理图
3.
3.4.1
串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段,STM32的串口资源相当丰富的,功能也相当强劲。ALIENTEK精英STM32开发板所使用的STM32F103ZET6最多可提供5路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持LIN、支持调制解调器操作、智能卡协议和IrDA SIR ENDEC规范、具有DMA。
3.1.2硬件设计6
3.2 跑马灯模块6
3.2.1跑马灯简介6
3.2.2硬件设计6
3.3 蜂鸣器模块7
3.3.1蜂鸣器简介7
3.3.2硬件设计7
3.4串口通讯模块8
3.4.1串口通讯简介8
3.4.2硬件设计8
3.5ADC模块8
3.5.1ADC模块简介8
3.6.2硬件设计8
3.6 光敏传感器模块9
3.6.1光敏传感器简介9
图 2.1.7光敏传感器电路
图中的 LS1 就是光敏传感器,其实就是一个光敏二极管,周围环境越亮,电流越大,反之电流越小,即可等效为一个电阻,环境越亮阻值越小,反之越大,从而通过读取 LIGHT_SENSOR的电压,即可知道周围环境光线强弱。LIGHT_SENSOR 连接在 MCU 的 ADC3_IN6(ADC3 通道 6)上面,即 PF8 引脚。
3.4.
1)指示灯DS0
2)串口1
用到的串口1与USB串口并没有在PCB上连接在一起,需要通过跳线帽来连接一下。这里我们把P6的RXD和TXD用跳线帽与PA9和PA10连接起来。如图所示:
图3.5.1硬件连接图示意图
3.5
3.5.1
STM32拥有1~3个ADC(STM32F101/102系列只有1个ADC),这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字转换器。
嵌入式系统应用技术
课程设计
题目基于STM32嵌入式光敏红外遥感报警
系统的设计与实现
学生姓名专业班级
指导教师职称
所在单位
教学部主任
完成日期
1 前 言1
1.1 课题研究背景1
1.2 实验研究目的和意义1
2.STM32F103实验平台介绍1
2.1硬件资源1
3 详细设计6
3.1程序下载与调试6
3.1.1 简介6
3.7.
1) 指示灯 DS0
2)蜂鸣器
3) TFTLCD 模块
3 详细设计
3.1程序下载与调试
3.1.1 简介
MDK的一个强大的功能就是提供软件仿真,通过软件仿真,我们可以发现很多将要出现的问题,避免了下载到STM32里面来查这些错误,这样最大的好处是能很方便的检查在的问题,因为在MDK的仿真下面,你可以查看很多硬件相关的寄存器,通过观察这些寄存器,你可以知道代码是不是真正有效。另外一个优点是不必频繁的刷机,从而延长了STM32的FLASH寿命(STM32的FLASH寿命≥1W次)。
2.2
MDK 源自德国的 KEIL 公司,是 RealView MDK 的简称。在全球 MDK 被超过 10 万的嵌入式开发工程师使用。目前最新版本为:MDK5.14,该版本使用 uVision5 IDE 集成开发环境,是目前针对 ARM 处理器,尤其是 Cortex M 内核处理器的最佳开发工具。
3.
1)指示灯DSO
DS0 接 PB5,DS1 接 PE5。其连接原理图如图下所示:
图 3.2.1 LED 与 STM32F1 连接原理图
3.3 蜂鸣器模块
3.
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣
启动模式设置端口电路如图所示:
图 2.1.6启动模式设置接口
一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为1,BOOT1
为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设置都可以。
8)光敏传感器
一个光敏传感器,可以用来感应周围光线的变化,该部分电路如图所示:
加,形成光电流,它随入射光强度的变化而变化。当光线照射 PN 结时,可以使 PN 结中产生电
子一空穴对,使少数载流子的密度增加。这些载流子在反向电压下漂移,使反向电流增加。因
此可以利用光照强弱来改变电路中的电流。
利用这个电流变化,我们串接一个电阻,就可以转换成电压的变化,从而通过 ADC 读取
电压值,判断外部光线的强弱。
2.
2
1)MCU
它拥有的资源包括:64KB SRAM、512KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、2 个 DMA 控制器(共 12 个通道)、3 个 SPI、2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1 个 SDIO 接口、1 个 FSMC 接口以及 112 个通用 IO 口。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩 SRAM 和连接 LCD 等,通过 FSMC 驱动 LCD,可以显著提高 LCD 的刷屏速度,是 STM32F1 家族常用型号里面,最高配置的芯片
它有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
3.
1) 指示灯 DS0
2) TFTLCD 模块
3) ADC ADC 属于 STM32F1 内部资源。
4) 杜邦线
3.6 光敏
3.6.1
6)复位电路
复位电路如图所示:
图 2.1.5复位电路
因为 STM32 是低电平复位的,所以我们设计的电路也是低电平复位的,这里的 R2 和 C10构成了上电复位电路。同时,开发板把 TFT_LCD 的复位引脚也接在 RESET 上,这样这个复位按钮不仅可以用来复位 MCU,还可以复位 LCD。
7)启动模式设置接口
2)引出 IO 口
图 2.1.1引出 IO 口
图中 P1 P2 为 MCU 主 IO 引出口,这两组排针共引出了 106 个 IO 口,STM32F103ZET6总共有 112 个 IO,除去 RTC 晶振占用的 2 个,还剩 110 个,这两组主引出排针,总共引出了106 个 IO,剩下的 4 个 IO 口分别通过:P3(PA9&PA10)和 P5(PA2&PA3)这 2 组排针引出。
精英 STM32F103 板载了一个光敏二极管(光敏电阻),作为光敏传感器,它对光的变化非
常敏感。光敏二极管也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是
一个具有光敏特征的 PN 结,具有单向导电性,因此工作时需加上反向电压。无光照时,有很
小的饱和反向漏电流,即暗电流,此时光敏二极管截止。当受到光照时,饱和反向漏电流大大增
3)USB 串口/串口 1 选择接口
USB 串口和 STM32F103ZET6 的串口是通过 P3 连接起来的,如图所示:
图 2.1.2 USB 串口/串口 1选择ቤተ መጻሕፍቲ ባይዱ口
图中 TXD/RXD 是相对 CH340G 来说的,也就是 USB 串口的发送和接收引脚。而USART1_RX 和 USART1_TX 则是相对于 STM32F103ZET6 来说的。这样,通过对接,就可以实现 USB 串口和 STM32F103ZET6 的串口通信了。同时,P3 是 PA9 和 PA10 的引出口。
1.2 实验研究目的和意义
随着科学技术的进步,光谱信息成像化,雷达成像多极化,光学探测多向化,地学分析智能化,环境研究动态化以及资源研究定量化,大大提高了遥感技术的实时性和运行性,使其向多尺度、多频率、全天候、高精度和高效快速的目标发展,例如在水质监测、裸土湿度、遥感考古、赤潮遥感监等等,这些技术的发展极大地促进了生产生活的进步。通过对具备红外学习功能的遥控器进行市场调查,国内红外遥控编码学习技术虽比较成熟,但产品化程度较低,市场推广不够,主要原因在于设计者对用户需求的调查不够全面,以致产品不够实用,性价比较低。从用户操作方便实用的角度出发,本文自主设计具备红外学习、彩屏虛拟遥控界面借此促进红外遥控学习技术在国内市场的产品化推广。使用红外线遥控器也越来越频繁。因为各种红外线遥控编码的不同。使着各种红外线遥控器不能兼容。经常需要更换遥控器,这也给人们的生活带来不便。单片的机迅速发展,使这一问题得到了很好的改善。
MDK5 向后兼容 MDK4 和 MDK3 等,以前的项目同样可以在 MDK5 上进行开发(但是头文
件方面得全部自己添加), MDK5 同时加强了针对 Cortex-M 微控制器开发的支持,并且对传统的开发模式和界面进行升级,MDK5 由两个部分组成:MDK Core 和 Software Packs。其中,Software Packs 可以独立于工具链进行新芯片支持和中间库的升级。Software Packs(包安装器)又分为:Device(芯片支持),CMSIS(ARM Cortex 微控制器软件接口标准)和 Mdidleware(中间库)三个小部分。
3.2
3.
LED灯逐个闪亮,void LED_Init(void),该函数的功能就是用来实现配置PB5
和PE5为推挽输出。这里需要注意的是:在配置STM32外设的时候,任何时候都要先使能该外设的时钟。GPIO是挂载在APB2总线上的外设,在固件库中对挂载在APB2总线上的外设时钟使能是通过函数RCC_APB2PeriphClockCmd()来实现的。PB5输出高低电平从而控制LED0,也可以固件库操作和寄存器操作来实现IO口操作。