当前位置:首页 >> 信息与通信 >>

DSP F2812输入捕捉例程


/***************************************************************************** 由于本开发板的DSP内核的电压为1.8V,故只能运行在最高位135MHZ的时钟频率下 将T1PWM_GPIOA6输出的PWM波与DSP的CAP1Q1_GPIOA8输入捕捉相接来测试输入捕捉功能 将输入捕捉到的定时器的计数值之差,也就是两个上升沿之间的时间通过8个发刚二极管 显示出来。 注意:在开发板断电的情况下连接好两个引脚,然后再给开发板上电! ******************************************************************************/ #include"DSP28_Device.h" interrupt void cap1_isr(void); Uint16 *LED8 = (Uint16 *)0x4100; //这是DSP开发板上的CPLD控制发光二级管的地址 Uint16 cap_value[2]={0}; void main(void) { InitSysCtrl(); DINT; IER = 0x0000; IFR = 0x0000; InitPieCtrl(); /*初始化PIE中断矢量表*/ InitPieVectTable(); EALLOW; PieVectTable.CAPINT1 = &cap1_isr; EDIS; /*通用定时器1设置*/ EvaRegs.GPTCONA.bit.T1PIN = 1; /*effective is low*/ EvaRegs.GPTCONA.bit.TCOMPOE = 1;/*open compare output*/ EvaRegs.T1CON.bit.FREE = 1; /*freely run*/ EvaRegs.T1CON.bit.TMODE = 2; EvaRegs.T1CON.bit.TPS = 2; /*prescaler is 4,HSPCLK = 60MHZ,pwm frequency = 150KHZ*/ EvaRegs.T1PR = 99; EvaRegs.T1CMPR = 50; EvaRegs.T1CON.bit.TENABLE = 1; EvaRegs.T1CON.bit.TCLD10 = 0; EvaRegs.T1CON.bit.TECMPR = 1; /*通用定时器2设置*/ EvaRegs.T2PR = 0xffff; EvaRegs.T2CON.bit.FREE = 1; EvaRegs.T2CON.bit.TMODE = 2;

/*freely run*/

EvaRegs.T2CON.bit.TPS = 1; 30MHZ*/

/*prescaler is 2,HSPCLK = 60MHZ,frequency is

EvaRegs.T2CON.bit.TENABLE = 1; EvaRegs.T2CON.bit.TCLD10 = 3; /*保留*/ EvaRegs.T2CON.bit.TECMPR = 1; /*捕获单元设置*/ EvaRegs.CAPFIFO.bit.CAP1FIFO = 0; EvaRegs.CAPCON.bit.CAP12TSEL = 0; /*choose the general timer2*/ EvaRegs.CAPCON.bit.CAP1EDGE = 2; /*detect the falling edge*/ EvaRegs.CAPCON.bit.CAPRES = 1; EvaRegs.CAPCON.bit.CAPQEPN = 1; /*enable capture uint 1 and 2*/ EvaRegs.EVAIFRC.bit.CAP1INT = 1; /*clear the flag*/ EvaRegs.EVAIMRC.bit.CAP1INT = 1; /*enable the interrupt*/

EALLOW; GpioMuxRegs.GPAMUX.bit.T1PWM_GPIOA6 = 1; GpioMuxRegs.GPAMUX.bit.CAP1Q1_GPIOA8 = 1; /*second function*/ EDIS; PieCtrl.PIEIER3.bit.INTx5 = 1; IER |= M_INT3; EINT; ERTM; *LED8 = 0xff; for(;;) { } } interrupt void cap1_isr(void) { EvaRegs.EVAIFRC.bit.CAP1INT = 1; EvaRegs.T1CNT = 0; cap_value[0] = EvaRegs.CAP1FIFO; cap_value[1] = EvaRegs.CAP1FIFO; *LED8 = ~(char)( cap_value[1] - cap_value[0] ) ; cap_value[0] = 0; cap_value[1] = 0; asm(" RPT #1 || NOP"); PieCtrl.PIEACK.all = PIEACK_GROUP3;

}


相关文章:
TMS320F2812 DSP捕获单元测速_图文
基于TMS320F2812 DSP 捕获单元测速相关专题: 电子应用 时间:2009-10-13 10:...基于DSP2812的三种电机转... 5页 1下载券 DSP F2812输入捕捉例程 3页 1下载...
DSP捕获单元
7.8 捕获单元捕获单元可以记录捕获输入引脚上的转换,事件管理器总共有 6 个...QEP单元测速详细说明 3页 免费 DSP F2812输入捕捉例程 3页 1下载券 ©...
DSP F2812 SPI数模转换例程
DSP F2812 SPI数模转换例程_信息与通信_工程科技_专业资料。本例程是在QQ2812开发...(void) //spi sw reset = 0; //设置 clock phase,输出早于输入 //30M ...
DSP2812相关代码和程序
#define #define #define DSP28_F2812 DSP28_F2811 DSP28_F2810 TARGET 0 0 //---// Common CPU Definitions: // extern cregister volatile unsigned int...
2812串行口通信例程
2812串行口通信例程_信息与通信_工程科技_专业资料。2812系列DSP串口通信例程TMS320F2812 串行口<--->PC 机通信例程//---//---// 名称: SCI 串行口数据收发...
flash烧写DSPf2812程序必读的经验
flash烧写DSPf2812程序必读的经验_IT/计算机_专业资料。DSP2812_FLASH 烧写成功经验...其中 CMD\LIB\ASM 文件, 我都是在一个同事给北京瑞泰开发板给的例程中 找到...
TMS320F2812完整实验过程快速入门
在打开的编辑窗口中,输入控制数码管的程序: #include "DSP281x_Device.h" #include "DSP281x_Examples.h" #include "f2812a.h" // DSP281x Headerfile ...
2812实验例程
口的输入输出功能来控制 LED 灯的显示,通过 此例程可以更加深入地理解通用 I/...DSP281x_GlobalVariableDefs.c、F2812_EzDSP_RAM_lnk.cmd 和 rts2800_ml.lib...
DSP2812-实验要求以及参考程序
打开工程 F2812\DSP281x_examples\Lab0201-Memory\PWM.pjt 和 F2812\DSP281x_examples\Lab0201-Memory\Speaker.pjt 3、在例程 Speaker.c 中是使用通用定时器 ...
DSP之TMS320F2812基本系统及使用实例
龙源期刊网 http://www.qikan.com.cn DSP 之 TMS320F2812 基本系统及使用实例 作者:严俊高 陈洁 来源:《科技视界》2014 年第 25 期 【摘要】文章在介绍 ...
更多相关标签: