DSP实验程序汇总Word格式.docx
- 文档编号:15365779
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:50
- 大小:27.44KB
DSP实验程序汇总Word格式.docx
《DSP实验程序汇总Word格式.docx》由会员分享,可在线阅读,更多相关《DSP实验程序汇总Word格式.docx(50页珍藏版)》请在冰豆网上搜索。
//基本功能函数声明
voiddelay_loop(void);
//延时函数
//系统主函数
main()
{
//系统自带函数,默认的初始化函数,使用时直接调用
//第一步,初始化系统控制寄存器、PLL、看门狗和系统时
钟
//这个函数在DSP281x_common\source文件夹下的
DSP281x_SysCtrl.c文件里可以找到.
InitSysCtrl();
//第二步,初始化GPIO口
//这个函数在DSP281x_common\source文件夹下
DSP281x_Gpio.c文件里可以找到,说明了如何设置GPIO
口到默认值
//InitGpio();
//此例中用不到
EALLOW;
//允许访问受保护空间
GpioMuxRegs.GPFMUX.bit.XF_GPIOF14=1;
//使能
GPOF14的XF引脚作为输出
EDIS;
//禁止访问受保护空间
//第三步,清除所有中断并初始化PIE向量表
DINT;
//禁止CPU中断.
//这个函数在DSP281x_common\source目录下的
DSP281x_PieCtrl.c文件里可找到
InitPieCtrl();
//初始化PIE控制寄存器
IER=0x0000;
//禁止所有的CPU中断
IFR=0x0000;
//清所有的CPU中断标志
DSP281x_PieVect.c文件里可找到
InitPieVectTable();
//初始化PIE向量表,
//第四步,初始化所有的外设
DSP281x_InitPeripherals.c文件中可以找到
//InitPeripherals();
//这个例子中用不到外设
//第五步,用户程序
while
(1)
asm("
SETCXF"
);
//设置XF为1
delay_loop();
//调用延迟
CLRCXF"
//设置XF为0
}
实验2GPIO程序
//DSP281xHeaderfileIncludeFile
//DSP281xExamplesIncludeFile
//Prototypestatementsforfunctionsfoundwithinthisfile.
voidGpio_select(void);
voidstart(void);
int*PTR,i=0;
voidmain(void)
//Step1.InitializeSystemControl:
//PLL,WatchDog,enablePeripheralClocks
//ThisexamplefunctionisfoundintheDSP281x_SysCtrl.cfile.
InitSysCtrl();
//Step2.InitalizeGPIO:
//ThisexamplefunctionisfoundintheDSP281x_Gpio.cfileand
//illustrateshowtosettheGPIOtoit'
sdefaultstate.
//Skippedforthisexample
//Forthisexampleusethefollowingconfiguration:
Gpio_select();
//Step3.ClearallinterruptsandinitializePIEvectortable:
//DisableCPUinterrupts
DINT;
//InitializePIEcontrolregisterstotheirdefaultstate.
//ThedefaultstateisallPIEinterruptsdisabledandflags
//arecleared.
//ThisfunctionisfoundintheDSP281x_PieCtrl.cfile.
InitPieCtrl();
//DisableCPUinterruptsandclearallCPUinterruptflags:
IER=0x0000;
IFR=0x0000;
//InitializethePIEvectortablewithpointerstotheshellInterrupt
//ServiceRoutines(ISR).
//Thiswillpopulatetheentiretable,eveniftheinterrupt
//isnotusedinthisexample.Thisisusefulfordebugpurposes.
//TheshellISRroutinesarefoundinDSP281x_DefaultIsr.c.
//ThisfunctionisfoundinDSP281x_PieVect.c.
InitPieVectTable();
//Step4.InitializealltheDevicePeripherals:
//ThisfunctionisfoundinDSP281x_InitPeripherals.c
//Notrequiredforthisexample
//Step5.Userspecificcode:
GpioDataRegs.GPBDAT.all=0xFF00;
//通过GPIOB7给CLR引脚一个低电平
delay_loop();
//延迟
PTR=(int*)0X060;
//地址指针PTR指向0060H
for(i=0;
i<
=7;
i++)//将八个状态字存入60H开始的内存单元
{
switch(i)
{
case0:
*(PTR+i)=0X0FFFB;
break;
//0060单元的值为FFFE
case1:
*(PTR+i)=0X0FFF7;
//0061单元的值为FFFD
case2:
*(PTR+i)=0X0FFEF;
//0062单元的值为FFFB
case3:
*(PTR+i)=0X0FFDF;
//0063单元的值为FFF7
case4:
*(PTR+i)=0X0FFBF;
//0064单元的值为FFEE
case5:
*(PTR+i)=0X0FF7F;
//0065单元的值为FFDE
case6:
*(PTR+i)=0X0F7FF;
//0066单元的值为FFBE
case7:
*(PTR+i)=0X0EFFF;
//0067单元的值为FF7E
}
while
(1)//循环将八个状态输出
i++)
GpioDataRegs.GPADAT.all=*(PTR+i);
start();
//调用函数给出一个脉冲
//调用延时函数
}
voiddelay_loop()
shortk,i;
for(k=0;
k<
100;
k++)
for(i=0;
i<
0X0FFFF;
i++){}
voidstart()
GpioDataRegs.GPBDAT.all=0xFFFF;
GpioDataRegs.GPBDAT.all=0xFFBF;
voidGpio_select(void)
Uint16var1;
Uint16var2;
Uint16var3;
var1=0x0000;
//setsGPIOMuxsasI/Os设置GPIO作为I/O口
var2=0xFFFF;
//setsGPIODIRasoutputs设置GPIO作为输出
var3=0x0000;
//setstheInputqualifiervalues设置输入量化值为0
GpioMuxRegs.GPAMUX.all=var1;
GpioMuxRegs.GPBMUX.all=var1;
//GpioMuxRegs.GPDMUX.all=var1;
//GpioMuxRegs.GPFMUX.all=var1;
//GpioMuxRegs.GPEMUX.all=var1;
//GpioMuxRegs.GPGMUX.all=var1;
GpioMuxRegs.GPADIR.all=var2;
//GPIOPORTsasoutput
GpioMuxRegs.GPBDIR.all=var2;
//GPIODIRselectGPIOsasoutput
//GpioMuxRegs.GPDDIR.all=var2;
//GpioMuxRegs.GPEDIR.all=var2;
//GpioMuxRegs.GPFDIR.all=var2;
//GpioMuxRegs.GPGDIR.all=var2;
GpioMuxRegs.GPAQUAL.all=var3;
//SetGPIOinputqualifiervalues
GpioMuxRegs.GPBQUAL.all=var3;
//GpioMuxRegs.GPDQUAL.all=var3;
//GpioMuxRegs.GPEQUAL.all=var3;
EDIS;
}
//=========================================
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 实验 程序 汇总