⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 DSK6713的中断测试程序 用来熟悉和学习DSK6713的中断
💻 C
字号:


#include <stdio.h>
#include <csl.h>
#include <csl_timer.h>
#include <csl_irq.h>
#include "sine.h"
#define TIMER_CNT  20  /* Maximum count value */
/*----------------------------------------------------------------------------*/

void TimerEventHandler(void);
extern far void vectors();

static TIMER_Handle hTimer1;
static Uint32 TimerEventId;
static int cnt = 0;  
int gain = INITIALGAIN;   	   

IOBuffer currentBuffer;

/*----------------------------------------------------------------------------*/
static Uint32 TimerControl = TIMER_CTL_RMK( 
  TIMER_CTL_INVINP_NO,
  
  TIMER_CTL_CLKSRC_CPUOVR4,
						   	
  TIMER_CTL_CP_PULSE, 
					    
  TIMER_CTL_HLD_YES, 
						   
  TIMER_CTL_GO_NO,
  TIMER_CTL_PWID_ONE,

  TIMER_CTL_DATOUT_0,

  TIMER_CTL_INVOUT_NO,
  TIMER_CTL_FUNC_GPIO
					        
);                 



/*----------------------------------------------------------------------------*/
void main() 
{

  
  CSL_init(); 
  
  
  hTimer1 = TIMER_open(TIMER_DEV1, TIMER_OPEN_RESET);
  

  TimerEventId = TIMER_getEventId(hTimer1);
  
  IRQ_setVecs(vectors);    
  IRQ_globalEnable();       
  IRQ_nmiEnable();           
  
   
  IRQ_map(TimerEventId, 14);
    

  IRQ_reset(TimerEventId);
    
  
  TIMER_configArgs(hTimer1,
    TimerControl, /* use predefined control value  */
    0x00100000,   /* set period                    */
    0x00000000    /* start count value at zero     */
  );

  
  IRQ_enable(TimerEventId);
  
  
  TIMER_start(hTimer1);

  while(cnt <= TIMER_CNT);
  
}

void TimerEventHandler(void) {

  int size = BUFFSIZE;
  
  cnt++;  
  
    
    while(size--){
        
        currentBuffer.modu[size] = currentBuffer.input[size] * gain;
        currentBuffer.output[size]=currentBuffer.modu[size] * currentBuffer.input[size];
    }
  
  if (cnt > TIMER_CNT)
  {   
      TIMER_pause(hTimer1);
      TIMER_close(hTimer1);
      printf("\nDone...");
      exit(0);
  }
  printf("\n Count : %3d ",cnt);
  
}

interrupt void c_int14(void)    
{
    TimerEventHandler();
    return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -