跑马灯实验-STM32F4开发.pdf

跑马灯实验-STM32F4开发.pdf

ID:52923299

大小:1.70 MB

页数:23页

时间:2020-03-31

跑马灯实验-STM32F4开发.pdf_第1页
跑马灯实验-STM32F4开发.pdf_第2页
跑马灯实验-STM32F4开发.pdf_第3页
跑马灯实验-STM32F4开发.pdf_第4页
跑马灯实验-STM32F4开发.pdf_第5页
资源描述:

《跑马灯实验-STM32F4开发.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、STM32F4开发指南(库函数版)ALIENTEK探索者STM32F407开发板教程第六章跑马灯实验任何一个单片机,最简单的外设莫过于IO口的高低电平控制了,本章将通过一个经典的跑马灯程序,带大家开启STM32F4之旅,通过本章的学习,你将了解到STM32F4的IO口作为输出使用的方法。在本章中,我们将通过代码控制ALIENTEK探索者STM32F4开发板上的两个LED:DS0和DS1交替闪烁,实现类似跑马灯的效果。本章分为如下四个小节:6.1,STM32F4IO口简介6.2,硬件设计6.3,软件设计6.4,下

2、载验证6.1STM32F4IO简介本章将要实现的是控制ALIENTEK探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果,该实验的关键在于如何控制STM32F4的IO口输出。了解了STM32F4的IO口如何输出的,就可以实现跑马灯了。通过这一章的学习,你将初步掌握STM32F4基本IO口的使用,而这是迈向STM32F4的第一步。这一章节因为是第一个实验章节,所以我们在这一章将讲解一些知识为后面的实验做铺垫。为了小节标号与后面实验章节一样,这里我们不另起一节来讲。在讲解STM32F4的GPIO之前,

3、首先打开我们光盘的第一个固件库版本实验工程跑马灯实验工程(光盘目录为:“4,程序源码标准例程-库函数版本实验1跑马灯/USER/LED.uvproj”),可以看到我们的实验工程目录:141STM32F4开发指南(库函数版)ALIENTEK探索者STM32F407开发板教程图6.1.1跑马灯实验目录结构接下来我们逐一讲解一下我们的工程目录下面的组以及重要文件。①组FWLib下面存放的是ST官方提供的固件库函数,每一个源文件stm32f4xx_ppp.c都对应一个头文件stm32f4xx_ppp.h。分组内的文

4、件我们可以根据工程需要添加和删除,但是一定要注意如果你引入了某个源文件,一定要在头文件stm32f4xx_conf.h文件中确保对应的头文件也已经添加。比如我们跑马灯实验,我们只添加了5个源文件,那么对应的头文件我们必须确保在stm32f4xx_conf.h内也包含进来,否则工程会报错。②组CORE下面存放的是固件库必须的核心文件和启动文件。这里面的文件用户不需要修改。大家可以根据自己的芯片型号选择对应的启动文件。③组SYSTEM是ALIENTEK提供的共用代码,这些代码的作用和讲解在第五章都有讲解,大家可以翻

5、过去看下。④组HARDWARE下面存放的是每个实验的外设驱动代码,他的实现是通过调用FWLib下面的固件库文件实现的,比如led.c里面调用stm32f4xx_gpio.c内定义的函数对led进行初始化,这里面的函数是讲解的重点。后面的实验中可以看到会引入多个源文件。⑤组USER下面存放的主要是用户代码。但是system_stm32f4xx.c文件用户不需要修改,同时stm32f4xx_it.c里面存放的是中断服务函数,这两个文件的作用在3.1节有讲解,大家可以翻过去看看。Main.c函数主要存放的是主函数了,

6、这个大家应该很清楚。工程分组情况我们就讲解到这里,接下来我们就要进入我们跑马灯实验的讲解部分了。这里需要说明一下,我们在讲解固件库之前会首先对重要寄存器进行一个讲解,这样是为了大家142STM32F4开发指南(库函数版)ALIENTEK探索者STM32F407开发板教程对寄存器有个初步的了解。大家学习固件库,并不需要记住每个寄存器的作用,而只是通过了解寄存器来对外设一些功能有个大致的了解,这样对以后的学习也很有帮助。首先要提一下,在固件库中,GPIO端口操作对应的库函数函数以及相关定义在文件stm32f4xx_

7、gpio.h和stm32f4xx_gpio.c中。相对于STM32F1来说,STM32F4的GPIO设置显得更为复杂,也更加灵活,尤其是复用功能部分,比STM32F1改进了很多,使用起来更加方便。STM32F4每组通用I/O端口包括4个32位配置寄存器(MODER、OTYPER、OSPEEDR和PUPDR)、2个32位数据寄存器(IDR和ODR)、1个32位置位/复位寄存器(BSRR)、1个32位锁定寄存器(LCKR)和2个32位复用功能选择寄存器(AFRH和AFRL)等。这样,STM32F4每组IO有10个3

8、2位寄存器控制,其中常用的有4个配置寄存器+2个数据寄存器+2个复用功能选择寄存器,共8个,如果在使用的时候,每次都直接操作寄存器配置IO,代码会比较多,也不容易记住,所以我们在讲解寄存器的同时会讲解是用库函数配置IO的方法。同STM32F1一样,STM32F4的IO可以由软件配置成如下8种模式中的任何一种:1、输入浮空2、输入上拉3、输入下拉4、模拟输入5、开漏输出6、推挽输出7、推

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。