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

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;

}


赞助商链接
相关文章:
DSP F2812 SPI数模转换例程
DSP F2812 SPI数模转换例程_信息与通信_工程科技_专业资料。本例程是在QQ2812开发...(void) //spi sw reset = 0; //设置 clock phase,输出早于输入 //30M ...
DSP--TMS320F2812的快速傅立叶变换FFT程序
喜欢此文档的还喜欢 基于TMS320F2812 DSP捕获... 3页 免费D​S​P​-.../***优化版 F2812 fft 源程序 TI 例程***/ /* */ /* fft.c */ /...
DSP原理及应用(2812)试卷_附答案卷C1(2014城南)
DSP 定时器例程实验中,程序运行在( D ) A、...如果给 F2812 的 A/D 转换器输入最高的模拟电压...通用定时器、比较单元、捕获单元、正交编码电路。 7...
DSP2812-实验要求以及参考程序
打开工程 F2812\DSP281x_examples\Lab0201-Memory\PWM.pjt 和 F2812\DSP281x_examples\Lab0201-Memory\Speaker.pjt 3、在例程 Speaker.c 中是使用通用定时器 ...
F2812DSP的最小系统设计
F2812DSP的最小系统设计_信息与通信_工程科技_专业资料。F2812DSP 的最小系统...为实现基本的程序演示,还增加了外部中断,基本输入输出、以及异步串 行通信模块。...
2812串行口通信例程
2812串行口通信例程_信息与通信_工程科技_专业资料。2812系列DSP串口通信例程TMS320F2812 串行口<--->PC 机通信例程//---//---// 名称: SCI 串行口数据收发...
DSP F2812程序写入到Flash中无法运行的解决办法
DSP F2812程序写入到Flash中无法运行的解决办法_信息与通信_工程科技_专业资料。DSP F2812程序写入到Flash中无法运行的解决办法DSP F2812 程序写入到 Flash 中无法...
基于TMS320F2812 DSP捕获单元的柴油发电机组的转速测量...
将传感器输出信号调理后变成速度频率的数字信号输入 TMS320F2812 DSP捕获 单元,捕获被测信号电平的跳变沿(比如上升沿),从而可在被测信号的一个周期内,对标准...
DSPTMS320F2812实验讲义
、较强的 DSP 主板功能、丰富的外围实验电路、与教学内容紧密结合的实验例程。 ...输入 4 路 DA 输出 12 路 PWM 输出,6 路捕捉输入 双路 URAT 接口,接口...
基于2812DSP的PWM产生方法
基于TMS320F2812 DSP 的 PWM 产生方法 PWM (Pulse...捕获单元、QEP 电路等,这里主要用到通用定时器中的...在实际编程中,我们通常是打开某一个例程工程文件, ...
更多相关标签: