DSP实验程序汇总.docx
- 文档编号:2448825
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:50
- 大小:27.44KB
DSP实验程序汇总.docx
《DSP实验程序汇总.docx》由会员分享,可在线阅读,更多相关《DSP实验程序汇总.docx(50页珍藏版)》请在冰豆网上搜索。
DSP实验程序汇总
目录
实验1程序举例(实验指导书上有)1
实验2GPIO程序2
实验3捕获实验6
实验4步进电机9
实验7异步串行SCI18
实验8同步SPI主机程序22
实验8同步SPI从机程序26
实验9语音老师给的29
实验9语音做成功的30
实验10ECAN邮箱31
实验1程序举例(实验指导书上有)
//TI公司提供的V1.00版本头文件,直接调用
//DSP281x头文件,在DSP281x_headers\include目录下
可以找到这个文件
#include"DSP281x_Device.h"
//DSP281x头文件,在DPS281x_common\include目录下
可以找到这个文件
#include"DSP281x_Examples.h"
//基本功能函数声明
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_common\source目录下的
DSP281x_PieVect.c文件里可找到
InitPieVectTable();//初始化PIE向量表,
//第四步,初始化所有的外设
//这个函数在DSP281x_common\source目录下的
DSP281x_InitPeripherals.c文件中可以找到
//InitPeripherals();//这个例子中用不到外设
//第五步,用户程序
while
(1)
{
asm("SETCXF");//设置XF为1
delay_loop();//调用延迟
asm("CLRCXF");//设置XF为0
delay_loop();//调用延迟
}
实验2GPIO程序
#include"DSP281x_Device.h"//DSP281xHeaderfileIncludeFile
#include"DSP281x_Examples.h"//DSP281xExamplesIncludeFile
//Prototypestatementsforfunctionsfoundwithinthisfile.
voiddelay_loop(void);
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.
//InitGpio();//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
//InitPeripherals();//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;break;//0061单元的值为FFFD
case2:
*(PTR+i)=0X0FFEF;break;//0062单元的值为FFFB
case3:
*(PTR+i)=0X0FFDF;break;//0063单元的值为FFF7
case4:
*(PTR+i)=0X0FFBF;break;//0064单元的值为FFEE
case5:
*(PTR+i)=0X0FF7F;break;//0065单元的值为FFDE
case6:
*(PTR+i)=0X0F7FF;break;//0066单元的值为FFBE
case7:
*(PTR+i)=0X0EFFF;break;//0067单元的值为FF7E
}
}
while
(1)//循环将八个状态输出
{
for(i=0;i<=7;i++)
{
GpioDataRegs.GPADAT.all=*(PTR+i);
start();//调用函数给出一个脉冲
delay_loop();//调用延时函数
}
}
}
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
EALLOW;
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 实验 程序 汇总