• 大小: 40KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: C/C++
  • 标签: DSP  CCS  定时器  正弦波  

资源简介

本资源主要对DSP初学者有一定帮助,本源码包括3个部分,主程序部分、链接命令文件和中断向量表文件,并附有详细的代码注释.代码清晰简单,能让刚入门DSP的朋友熟悉CCS开发环境的C语言编写流程和掌握对DSP定时器中断的使用.

资源截图

代码片段和文件信息

#define IMR 0
#define TIM 0x24
#define PRD 0x25
#define TCR 0x26
#define PMST 0x1d

int con_buf=0i;
float buf[128]; /*  save out wave buffer */

float y0;
float y1=0.30901699;
float y2=0.58778525;
const float aa=1.90211304;
const float bb=-1.;

                        
main()
{
const int flag = 1;
int *dest;
   for(i=0;i<128;i++)
   buf[i]=0;
  dest = (int *)IMR;
  *dest = 0;

  dest = (int *)PMST;
  *dest = 0x1020; /* interrupt vector at 0x1000 */
  
  dest = (int *)TCR;
  *dest = 0x0010; /* stop timer0 */

  dest = (int *)PRD;
  *dest = 2499; /* TINT0 frequecy = 100MHz/2500 = 40KHz */

  dest = (int *)IMR;
  *dest = 0x0008; /* enable timer0 TINT0  */ 

  dest = (int *)TCR;
  *dest = 0x0030; /* reload timer0 */
  *dest = 0x0000; /* start timer0 */

  asm (“ rsbx intm“);

  while ( flag )
  {
  }

}

void interrupt tint()
{
   y0 = aa*y1 + bb*y2;
y2 = y1;
y1 = y0; 
buf[con_buf]=y0;
con_buf++;
if(con_buf == 128)
    con_buf=0;            /* set breakpoint to show wave */
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        349  2009-04-13 12:51  timer.cmd

     文件       1058  2009-04-13 23:48  timer.c

     文件       1177  2009-04-13 23:46  vec_table.asm

     文件     177494  2001-05-08 13:18  rts.lib

----------- ---------  ---------- -----  ----

               180078                    4


评论

共有 条评论