1 / 12
文档名称:

STM32实现跑马灯实验.docx

格式:docx   大小:1,360KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

STM32实现跑马灯实验.docx

上传人:63229029 2017/3/6 文件大小:1.33 MB

下载得到文件列表

STM32实现跑马灯实验.docx

文档介绍

文档介绍:STM32 IO 简介本章将要实现的是控制 ALIENTEK 战舰 STM32 开发板上的两个 LED 实现一个类似跑马灯的效果,该实验的关键在于如何控制 STM32 的 IO 口输出。了解了 STM32 的 IO 口如何输出的,就可以实现跑马灯了。通过这一章的学****你将初步掌握 STM32 基本 IO 口的使用,而这是迈向 STM32 的第一步。这一章节因为是第一个实验章节,所以我们在这一章将讲解一些知识为后面的实验做铺垫。为了小节标号与后面实验章节一样,这里我们不另起一节来讲。在讲解 STM32 的 GPIO 之前,首先打开我们光盘的第一个固件库版本实验工程跑马灯实验工程( 光盘目录为:“4, 程序源码\ 标准例程- 库函数版本\ 实验 1 跑马灯/USER/ ”), 可以看到我们的实验工程目录: 图 跑马灯实验目录结构接下来我们逐一讲解一下我们的工程目录下面的组以及重要文件。①组 FWLib 下面存放的是 ST 官方提供的固件库函数, 里面的函数我们可以根据需要添加和删除, 但是一定要注意在头文件 文件中注释掉删除的源文件对应的头文件, 这里面的文件内容用户不需要修改。②组 CORE 下面存放的是固件库必须的核心文件和启动文件。这里面的文件用户不需要修改。③组 SYSTEM 是 ALIENTEK 提供的共用代码, 这些代码的作用和讲解在第五章都有讲解, 大家可以翻过去看下。④组 HARDWARE 下面存放的是每个实验的外设驱动代码,他的实现是通过调用 FWLib 下面的固件库文件实现的, 比如 里面调用 里面的函数对 led 进行初始化, 这里面的函数是讲解的重点。后面的实验中可以看到会引入多个源文件。⑤组 USER 下面存放的主要是用户代码。但是 文件用户不需要修改,同时 里面存放的是中断服务函数,这两个文件的作用在 节有讲解,大家可以翻过去看看。 函数主要存放的是主函数了,这个大家应该很清楚。针对第①步中怎么随意添加和删除固件库文件,这里我们稍微讲解一下。首先从上面的图中可以看到, 源文件下面 include 了好几个头文件,其中有一个 ,这个文件会被每个固件库源文件引用。我们可以打开看看里面的内容: 图 stm32f10x_conf 文件内容从图中可以看出, 在头文件 文件中, 头文件, 那是因为我们的 FWLib 组下面引入了相应的 源文件。同时大家记住,, 以及 在每个实验基本都需要添加。在这个实验中,因为 LED 是关系到 STM32 的 GPIO ,所以我们增加了 和头文件 的引入。添加和删除固件库源文件的步骤是: 头文件。这些头文件在每个实验的目录\STM32F10x_FWLib\inc 下面都有存放。 FWLib 头文件对应的源文件。记住最好一一对应,否则就有可能会报错。这些源文件在每个实验的\STM32F10x_FWLib\src 目录下面都有存放。添加方法请参考 节的内容。最后我们讲解一下这些组之间的层次结构: 图 代码层次结构图从层次图中可以看出,我们的用户代码和 HARDWARE 下面的外设驱动代码再不需要直接操作寄存器,而是直接或间接操作官方提供的固件库函数。但是后面我们的为了让大家更全面方便的了解外设,我们会增加重要的外设寄存器的讲解,这样对底层知识更加了解,方便我们深入学****固件库。准备内容我们就讲解到这里, 接下来我们就要进入我们跑马灯实验的讲解部分了。这里需要说明一下, 我们在讲解固件库之前会首先对重要寄存器进行一个讲解, 这样是为了大家对寄存器有个初步的了解。大家学****固件库,并不需要记住每个寄存器的作用,而只是通过了解寄存器来对外设一些功能有个大致的了解,这样对以后的学****也很有帮助。首先要提一下,在固件库中, GPIO 端口操作对应的库函数函数以及相关定义在文件 和 中。 STM32 的 IO 口相比 51 而言要复杂得多,所以使用起来也困难很多。首先 STM32 的 IO 口可以由软件配置成如下 8 种模式: 1 、输入