医用单片机开发教程 - 第03章-实验2 GPIO与LED闪烁实验_第1页
医用单片机开发教程 - 第03章-实验2 GPIO与LED闪烁实验_第2页
医用单片机开发教程 - 第03章-实验2 GPIO与LED闪烁实验_第3页
医用单片机开发教程 - 第03章-实验2 GPIO与LED闪烁实验_第4页
医用单片机开发教程 - 第03章-实验2 GPIO与LED闪烁实验_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1第3章:实验2GPIO与LED闪烁实验——卓越工程师培养系列——2

通过学习LED电路原理图、STM32系统架构与存储器组织,以及GPIO功能框图、寄存器和固件库函数,基于医疗电子单片机高级开发系统设计一个流水灯程序,使得医疗电子单片机高级开发系统上编号为LD0的绿色LED每500ms闪烁一次。《医用单片机开发实用教程-基于STM32F4》-配套讲义1.实验内容3GPIO与LED闪烁实验涉及的硬件包括1个位于F429核心板上的绿色LED(编号为LD0),以及与LD0串联的限流电阻R11,LD0的正极通过1kΩ电阻连接到3V3电源网络,LD0的负极直接连接到STM32F429IGT6芯片的PC13引脚,如下图所示。P13为低电平时,LD0点亮,PC13为高电平时,LD0熄灭。《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.1LED电路原理图4《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.2STM32系统架构5《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.3STM32存储器映像6《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.4GPIO功能框图7输出相关寄存器

输出相关的数据寄存器包括端口位设置/清除寄存器(GPIOx_BSRR)以及端口输出数据寄存器(GPIOx_ODR)。可以通过更改GPIOx_ODR中的值,达到更改GPIO引脚电平的目的。比如,要将GPIOx_ODR[0]更改为1,将GPIOx_ODR[14]更改为0,可以先读GPIOx_ODR的值到一个临时变量地址(temp),然后再将temp[0]更改为1,将temp[14]更改为0,最后将temp写入GPIOx_ODR,如下图所示。《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.4GPIO功能框图8输出相关寄存器

这种“读-改-写”方式效率不仅低,而且操作繁杂,为了简化操作,提升效率,STM32新增了端口位设置/清除寄存器(GPIOx_BSRR)。GPIOx_BSRR[30]为1表示将GPIOx_ODR[14]从1更改为0,GPIOx_BSRR[0]为1表示将GPIOx_ODR[0]从0更改为1,GPIOx_BSRR的其他位为0表示不需要更改其他GPIOx_ODR对应位的值。通过GPIOx_BSRR修改GPIOx_ODR的过程如下图所示。《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.4GPIO功能框图9本实验涉及的GPIO寄存器包括端口模式寄存器(GPIOx_MODER)、端口输出类型寄存器(GPIOx_OTYPER)、端口输出速度寄存器(GPIOx_OSPEEDR)、端口上拉/下拉寄存器(GPIOx_PUPDR)、端口输出数据寄存器(GPIOx_ODR)、端口置位/复位寄存器(GPIOx_BSRR)。《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.5GPIO部分寄存器10本实验涉及的GPIO固件库函数包括GPIO_Init、GPIO_WriteBit和GPIO_ReadOutputDataBit。GPIO_Init函数的功能是设定A、B、C、D、E、F、G、H、I端口的任一个引脚的输入/输出的配置信息;GPIO_WriteBit函数的功能是设置或清除所选定端口的特定位;GPIO_ReadOutputDataBit函数的功能是读取指定外设端口的指定引脚的输出值。《医用单片机开发实用教程-基于STM32F4》-配套讲义2.实验原理2.6GPIO部分固件库函数11步骤1:复制并编译原始工程 步骤2:添加LED文件对步骤3:完善LED.h文件步骤4:完善LED.c文件步骤5:完善GPIO与LED闪烁实验应用层步骤6:编译及下载验证3.实验步骤《医用单片机开发实用教程-基于STM32F4》-配套讲义12

基于医疗电子单片机高级开发系统,编写程序实现每5秒切换LD0闪烁频率,初始状态为400ms点亮/400ms熄灭,第二状态为200ms点亮/200ms熄灭,第三状态为100ms点亮/100ms熄灭,第四状态为50ms点亮/50ms熄灭,按照“初始状态→第二状态→第三状态→第四状态→初始状态”循环执行,两个相邻状态之间的间隔为1秒。4.本章任务《医用单片机开发实用教程-基于STM32F4》-配套讲义131.简述GPIO都有哪些工作模式。2.GPIO都有哪些寄存器,MODER、OTYPER、OSPEEDR、PUPDR的功能是什么?3.计算GPIOE->BSRR的绝对地址。4.GPIO_Init函数的作用是什么?该函数具体操作了哪些寄存器?5.如何通过RCC->AHB1ENR使能GPIOA端口时钟,且其他模块时钟状态不变

温馨提示

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

最新文档

评论

0/150

提交评论