欢迎来到天天文库
浏览记录
ID:48522949
大小:1005.50 KB
页数:31页
时间:2020-02-07
《LED跑马灯实验-库函数.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.LED跑马灯实验..修改记录版本号.作者描述修改日期0.1徐珊FirstDraft2011-9-14审核记录姓名职务签字日期..LED跑马灯1.1实验介绍GPIO即通用可编程输入输出口,在此我们通过GPIO编程实现一个跑马灯的实验。该跑马灯实验是最简单,也是一般最先开始的一个实验,它可以搭建一个最小的工程项目,之后,所有的实验都可以建立在该项目之上,从而节省了在搭建过程中所消耗的时间和精力。所有的GPIO操作都是以跑马灯为基础进行的。1.2实验目标1.理解固件库的结构2.分析和学习固件库3.灵活运用GPIO1.3实验时间60分钟1.4预备知识熟悉C语言知识,熟练MDK
2、的使用1.5实验步骤1.解压stm32f10x_stdperiph_lib.zip可以从ST官方网站免费下载。本教程使用的标准库版本为3.1.22.创建一个GPIO文件夹..2.1新建子文件夹User,用于存放用户源程序2.2新建子文件夹Project,用户KEIL工程文件2.3在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。3.复制源代码到GPIO文件夹3.1将stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.1.2Libraries文件夹和Utilities文件夹整体复制到GPI
3、O文件夹下。这就是ST的标准库,是以源代码形式提供的。3.2将库中的演示代码GPIOlabsolutions4GPIO_fuctionUser中的文件复制到GPIOUser文件夹.4.新建KeilMDK工程..4.1启动KeilMDK,点击菜单NewuVisionProject,新建一个工程,命名为GPIO4.2选择CPU类型为STM32F107VC(这是MDV-STM32-107开发板采用的CPU类型)....4.3当提示是否复制启动代码时,请选择否。(我们用最新的库中的启动代码,不用Keil软件自带的旧版本启动文件)4.4根据自己的需要修改Target名字
4、。(名字任意)4.5为了便于代码管理,在这个Project下创建几个Group(名字可以任意)..User:存放用户自己写的源代码RVMDK:存放启动文件(汇编文件)StdPeriph_Driver:存放ST标准库外设驱动文件CMSIS:存放CMSIS接口文件(这也是库的一部分)STM32_EVAL存放板集设备驱动文件4.6创建好Group后,我们开始依次添加文件。4.6.1给User文件夹添加文件路径:User文件夹....4.6.2给RVMDK文件夹添加文件,路径:LibrariesCMSISCoreCM3startuparm....启动文件路径:Li
5、brariesCMSISCoreCM3startuparm4.6.3给stdPeriph_Driver文件夹添加文件....设备驱动文件路径:GPIOLibrariesSTM32F10x_StdPeriph_Driversrc4.6.4给CMSIS文件夹添加文件....CMSIS接口文件路径:GPIOLibrariesCMSISCoreCM34.6.5给STM32_EVAL文件夹添加文件....STM32_EVAL接口文件路径:UtilitiesSTM32_EVAL5.修改源代码。我们将修改main.c文件,换成我们自己跑马灯程序。/**
6、******************************************************version:v1.0author:sky**********************************************************//*头文件------------------------------------------------------------------*/#include"stm32f10x.h"#include"stm32_eval.h"/*Privatefunctionprototypes----------
7、-------------------------------------*/voidRCC_Configuration(void);voidDelay(__IOuint32_tnCount);intmain(void)//主函数{../*系统始终配置**********************************************/RCC_Configuration();/*初始化LED*/STM_EVAL_LEDInit(LED1);STM_EVAL_LEDInit(LED2);STM_EVAL_LEDInit(LED3);
此文档下载收益归作者所有