欢迎来到天天文库
浏览记录
ID:10584612
大小:394.50 KB
页数:12页
时间:2018-07-07
《2812控制精确的1秒led闪烁程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一个精确的1秒LED闪烁程序1 程序特点本程序使用F2812硬件,控制GPIOF14管脚上的一个LED做精确的1秒间隔闪烁,并且程序从Flash启动。2 建立工程2.1 文件该工程包含以下文件:注:除了Main.c为自己写的之外,其他均为F2812DEMO自带的文件。其中部分文件做了小小的修改,下文会详述2.2建立工程打开CCS3.1,选择Project—>New…,输入工程名,这里是MyFirstPjt,选择工程目录后点击确定,然后在左侧的工程管理窗口中选中MyFirstPjt.pjt,右键—>添加文件
2、,将下列文件加入工程:然后再次选中MyFirstPjt.pjt,右键—>ScanAllFileDependencies,CCS系统会自动搜索关联的文件,特别是.h头文件,并将所有.h头文件显示出来,如下图所示:如果你看不到,请点击+号展开文件列表。但注意此时并没有完成,还需要设置编译环境:在左侧的工程管理窗口中选中MyFirstPjt.pjt,右键—>BulidOptions…做如下设置:很关键的一个设置是必须设置头文件的搜索路径,CCS在编译时先搜索安装目录下的头文件,然后再搜索用户指定的路径,如果再找不到,就报错。
3、头文件的搜索路径设置如下:其中$(Proj_dir)表示工程所在的目录,这里设置为“$(Proj_dir)DSP281x_headersinclude,$(Proj_dir)DSP281x_commoninclude”多个路径中间用逗号隔开。当然也可以设置绝对路径,但这样设置方便一些,便于在工程拷贝中不用再更改设置。然后设置库和库的搜索路径:这里使用了CCS3.1自带的库rts2800_ml.lib,该库位于CCS安装目录的C2000cgtoolslib下,此库中带有bootloader的obj文件,以便于
4、与用户的应用程序连接,大信号模式下用rts2800_ml.lib,小信号模式下用rts2800.lib。2.3 编译略,与众多IDE相似。2.4 下载首先确保安装了F2812的Flash烧写插件和仿真器的驱动,硬件连接好后,按CTRL+ALT+R以RESET仿真器,按ALT+C连接DSP和PC,点击CCS上的Tools下的F28xxOn-ChipFlashProgrammer即可下载。具体步骤从略。2.5 运行断开仿真器,上电即可运行。具体从略。3 程序详解3.1 Main.c#include"DSP
5、281x_Device.h"//DSP281xHeaderfileIncludeFile#include"DSP281x_Examples.h"//DSP281xExamplesIncludeFile#include"DSP281x_Gpio.h"//////#include"DSP281x_XIntrupt.h"//////externvoidDSP28x_usDelay(Uint32time);voidmain(void){InitSysCtrl();DisableDog();MemCopy(&RamfuncsLo
6、adStart,&RamfuncsLoadEnd,&RamfuncsRunStart);InitGpio();//初始化pio,gpiof14为输出DINT;IER=0x0000;IFR=0x0000;InitPieCtrl();InitPieVectTable();//初始化中断向量表for(;;){GpioDataRegs.GPFTOGGLE.bit.GPIOF14=1;//gpiof14输出值翻转DELAY_US(0xF4240);//DelayOnesecond}}其中:InitSysCtrl()主要用来配置D
7、SP的时钟频率,该函数在DSP281x_SysCtrl.c文件中;DisableDog()关闭看门狗,函数也在DSP281x_SysCtrl.c中;MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart)这一句用来将将Flash中的DSP28x_usDelay()函数调入RAM中运行,下面将详解。3.2 闪烁LED的实现本工程的LED接到GPIOF14的管脚上,使用GPIO来控制LED的亮灭。InitGpio()用来初始化GPIO,函数原型在Gpio
8、.c中:voidInitGpio(void){//SetGPIOAportpins,AL(Bits7:0)(input)-AH(Bits15:8)(output)8bits//InputQualifier=0,noneEALLOW;GpioMuxRegs.GPFMUX.bit.XF_GPIOF14=0;//将/XPLLDIS配置为
此文档下载收益归作者所有