《LED跑马灯实验-库函数26279.pdf》由会员分享,可在线阅读,更多相关《LED跑马灯实验-库函数26279.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 LED 跑马灯实验 修改记录 版本号.作者 描述 修改日期 徐珊 First Draft 2011-9-14 审核记录 姓名 职务 签字 日期 LED 跑马灯 1.1 实验介绍 GPIO 即通用可编程输入输出口,在此我们通过GPIO 编程实现一个跑马灯的实验。该跑马灯 实验是最简单,也是一般最先开始的一个实验,它可以搭建一个最小的工程项目,之后,所有的实验都可以建立在该项目之上,从而节省了在搭建过程中所消耗的时间和精力。所有的 GPIO 操作都是以跑马灯为基础进行的。1.2 实验目标 1.理解固件库的结构 2.分析和学习固件库 3.灵活运用 GPIO 1.3 实验时间 60 分钟 1.4 预
2、备知识 熟悉 C 语言知识,熟练 MDK 的使用 1.5 实验步骤 1.解压 32f 可以从 ST 官方网站免费下载。本教程使用的标准库版本为 3.1.2 2.创建一个 GPIO 文件夹 新建子文件夹 User,用于存放用户源程序 新建子文件夹 Project,用户 KEIL 工程文件 在 Project 下依次创建 Obj 和 List 子文件夹,存放编译过程中产生的中间文件。3.复制源代码到 GPIO 文件夹 将 stm32f10 x_stdperiph_libSTM32F10 x_StdPeriph_Lib_V3.1.2Libraries 文件夹和Utilities 文件夹整体复制到 G
3、PIO 文件夹下。这就是 ST 的标准库,是以源代码形式提供的。将库中的演示代码GPIOlabsolutions4GPIO_fuctionUser 中的文件复制到GPIOUser 文件夹.4.新建 Keil MDK 工程 启动 Keil MDK,点击菜单 New uVision Project,新建一个工程,命名为 GPIO 选择 CPU 类型为 STM32F107VC (这是 MDV-STM32-107 开发板采用的 CPU 类型)当提示是否复制启动代码时,请选择否。(我们用最新的库中的启动代码,不用 Keil 软件自带的旧版本启动文件)根据自己的需要修改 Target 名字。(名字任意)为
4、了便于代码管理,在这个 Project 下创建几个 Group(名字可以任意)User :存放用户自己写的源代码 RVMDK:存放启动文件(汇编文件)StdPeriph_Driver:存放 ST 标准库外设驱动文件 CMSIS:存放 CMSIS 接口文件(这也是库的一部分)STM32_EVAL 存放板集设备驱动文件 创建好 Group 后,我们开始依次添加文件。4.6.1 给 User 文件夹添加文件 路径:User 文件夹 4.6.2 给 RVMDK 文件夹添加文件,路径:LibrariesCMSISCoreCM3startuparm 启动文件路径:LibrariesCMSISCoreCM3
5、startuparm 4.6.3 给 stdPeriph_Driver文件夹添加文件 设备驱动文件路径:GPIOLibrariesSTM32F10 x_StdPeriph_Driversrc 4.6.4 给 CMSIS 文件夹添加文件 CMSIS 接口文件路径:GPIOLibrariesCMSISCoreCM3 给 STM32_EVAL 文件夹添加文件 STM32_EVAL 接口文件路径:UtilitiesSTM32_EVAL 5.修改源代码。我们将修改 文件,换成我们自己跑马灯程序。/*version:author:sky*/*头文件-*/#include#include /*Private
6、 function prototypes-*/void RCC_Configuration(void);void Delay(_IO uint32_t nCount);int main(void)Initialize the Embedded Flash Interface,initialize the PLL and update the SystemFrequency variable.*/SystemInit();/*延时函数 */void Delay(_IO uint32_t nCount)for(;nCount!=0;nCount-);6.配置工程,点击“Options”按钮 切换到
7、 Output。选择 Object 文件夹。在 Create Hex File 前打钩。切换带 Listing。选择 Listings 文件夹 切换到 C/C+添加两个预编译宏 USE_STDPERIPH_DRIVER,STM32F10X_CL,USE_STM3210C_EVAL,LCD_Debug(这是 ST 库用到了这两个宏)修改 Includes 路径 切换到 Debug 选择硬件调试器(缺省是软件仿真),我们选择 Cortex-M/R J-LINK/J-Trace 调试器 在 Run to main 前打钩 切换到 Utilities 选额调试器类型,我们选择 Cortex-M/R J
8、-LINK/J-Trace 点 settings 按钮,添加 Flash 编程算法,我们选择 STM32 连接型器件,Flash 容量256K 字节 7.配置工程完毕。下面开始编译。8.编译 OK,按开发板 Reset 键开始运行。9.教程结束。(注:本 GPIO 应用还有一个小实验,请自己仿照以上方法完成)实验代码如下:1、通过使用固件库配置 GPIO 引脚的模式控制法 /*Includes-*/#include *param None *retval None */void RCC_Configuration(void)/*Setup the microcontroller system.
9、Initialize the Embedded Flash Interface,initialize the PLL and update the SystemFrequency variable.*/SystemInit();/*brief Inserts a delay time.*param nCount:specifies the delay time length.*retval None */void Delay(_IO uint32_t nCount)for(;nCount!=0;nCount-);1.6 结论 1.7 问题 1、简述 GPIO 端口位的基本结构 2、简述怎么配置 GPIO 寄存器 3、简述 GPIO 的几种模式配置及其区别 4、目录 GPIOlabs 下面 压缩文件中的工程 是基于 STM32F103ZE 芯片的 某一块开发板上的 LED 跑马灯,请根据前面做的 GPIO 实验修改本代码,使得该 LED 跑马灯能够在基于 STM32F107VC 芯片的开发板上正常运行起来。
限制150内