- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32F4 开发指南(库函数版)
ALIENTEK 探索者STM32F407 开发板教程
第六章 跑马灯实验
任何一个单片机,最简单的外设莫过于 IO 口的高低电平控制了,本章将通过一个经典的
跑马灯程序,带大家开启STM32F4 之旅,通过本章的学习,你将了解到STM32F4 的IO 口作
为输出使用的方法。在本章中,我们将通过代码控制ALIENTEK 探索者STM32F4 开发板上的
两个LED :DS0 和DS1 交替闪烁,实现类似跑马灯的效果。 本章分为如下四个小节:
6.1, STM32F4 IO 口简介
6.2 , 硬件设计
6.3, 软件设计
6.4 , 下载验证
6.1 STM32F4 IO 简介
本章将要实现的是控制ALIENTEK 探索者STM32F4 开发板上的两个LED 实现一个类似跑
马灯的效果,该实验的关键在于如何控制STM32F4 的IO 口输出。了解了STM32F4 的IO 口如
何输出的,就可以实现跑马灯了。通过这一章的学习,你将初步掌握STM32F4 基本IO 口的使
用,而这是迈向STM32F4 的第一步。
这一章节因为是第一个实验章节,所以我们在这一章将讲解一些知识为后面的实验做铺垫。
为了小节标号与后面实验章节一样,这里我们不另起一节来讲。
在讲解STM32F4 的GPIO 之前,首先打开我们光盘的第一个固件库版本实验工程跑马灯实
验工程(光盘目录为:“4,程序源码\标准例程-库函数版本\实验1 跑马灯/USER/ LED.uvproj ”),
可以看到我们的实验工程目录:
141
STM32F4 开发指南(库函数版)
ALIENTEK 探索者STM32F407 开发板教程
图6.1.1 跑马灯实验目录结构
接下来我们逐一讲解一下我们的工程目录下面的组以及重要文件。
① 组FWLib 下面存放的是ST 官方提供的固件库函数,每一个源文件stm32f4xx_ppp.c 都对
应一个头文件stm32f4xx_ppp.h 。分组内的文件我们可以根据工程需要添加和删除,但是
一定要注意如果你引入了某个源文件,一定要在头文件 stm32f4xx_conf.h 文件中确保对
应的头文件也已经添加。比如我们跑马灯实验,我们只添加了5 个源文件,那么对应的
头文件我们必须确保在stm32f4xx_conf.h 内也包含进来,否则工程会报错。
② 组CORE 下面存放的是固件库必须的核心文件和启动文件。这里面的文件用户不需要修
改。大家可以根据自己的芯片型号选择对应的启动文件。
③ 组SYSTEM 是ALIENTEK 提供的共用代码,这些代码的作用和讲解在第五章都有讲解,
大家可以翻过去看下。
④ 组 HARDWARE 下面存放的是每个实验的外设驱动代码,他的实现是通过调用 FWLib
下面的固件库文件实现的,比如led.c 里面调用stm32f4xx_gpio.c 内定义的函数对led 进
行初始化,这里面的函数是讲解的重点。后面的实验中可以看到会引入多个源文件。
⑤ 组USER 下面存放的主要是用户代码。但是system_stm32f4xx.c 文件用户不需要修改,
同时stm32f4xx_it.c 里面存放的是中断服务函数,这两个文件的作用在3.1 节有讲解,大
家可以翻过去看看。Main.c 函数主要存放的是主函数了,这个大家应该很清楚。
工程分组情况我们就讲解到这里,接下来我们就要进入我们跑马灯实验的讲解部分了。这
里需要说明一下,我们在讲解固件库之前会首先对重要寄存器进行一个讲解,这样是为了大家
142
文档评论(0)