亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainfilter.c

?? 音頻數據采集與IIR處理例程
?? C
字號:
/*******************************************************************************
本程序實現音頻的IIR濾波操作
*******************************************************************************/
#define CHIP_6713
#include <stdio.h>
#include <csl.h>
#include <csl_dma.h>     /* DMA_SUPPORT   */
#include <csl_irq.h>     /* IRQ_SUPPORT   */
#include <csl_mcbsp.h>   /* MCBSP_SUPPORT */
#include <csl_gpio.h>
#define DSPF_SP_BIQUAD_ASM
#include "DSPF_sp_biquad.h"
#include "intr.h"
#include "c6x.h"
#include "c6713dsk.h"
#include "regs.h"
#include "iirtable.h"

//CSLi handle for GPIO_DEV0 Declaration
GPIO_Handle hGpio;

#define FALSE 0
#define TRUE 1
#define PING 0
#define PONG 1
volatile int recv0_done = FALSE;
volatile int xmit0_done = FALSE;

#define nDelayBuf 9000

#pragma DATA_SECTION(inbuf,"edmain")
int inbuf[nDelayBuf];

#pragma DATA_SECTION(outbuf,"edmaout")
int outbuf[nDelayBuf];

#pragma DATA_SECTION(FeedBack,"edmafeed")
int FeedBack[nDelayBuf];

#pragma DATA_SECTION(ProcessBuff,"edmabuf")
Uint32 ProcessBuff[BUFFSIZE];

short pingORpong=PING;

int gBufferXmtPing[BUFFSIZE];
int gBufferXmtPong[BUFFSIZE];

int gBufferRcvPing[BUFFSIZE];
int gBufferRcvPong[BUFFSIZE];

float Buffer_iir_l[512];
float Buffer_iir_r[512];
float mid_iir[512];

Uint16 j=0;

MCBSP_Handle hMcbsp0;    /*handle of the Mcbsp0*/
static MCBSP_Config mcbspCfg0={
  0x00060000,  //SPCR
  0x000401a0,  //RCR
  0x000401a0,  //XCR
  0x103f1f03,  //SRGR
  MCBSP_MCR_DEFAULT,
  MCBSP_RCER_DEFAULT,
  MCBSP_XCER_DEFAULT,
  0x00000a03   //PCR
  };
  
MCBSP_Handle hMcbsp1;    /*handle of the Mcbsp1*/
static MCBSP_Config mcbspCfg1={
  0x00060000,  //SPCR
  0x80a400a0,  //RCR
  0x80a400a0,  //XCR
  0x103f1f03,  //SRGR
  MCBSP_MCR_DEFAULT,
  MCBSP_RCER_DEFAULT,
  MCBSP_XCER_DEFAULT,
  0x00000a03   //PCR
  };  
/*******************************************************************************
* Function prototypes
*******************************************************************************/
void delay_msec(short msec);
void iis_init();
void spi_init();
extern void TI_EDMA_CFG(void);
Uint32 RecvMcbspDat=0,SendMcbspDat=0;
Uint32 SendCnt=0;

void initGpio(void)
 {
   hGpio=GPIO_open(GPIO_DEV0,GPIO_OPEN_RESET);
   GPIO_pinEnable(hGpio,GPIO_PIN13|GPIO_PIN15);  
   GPIO_pinDirection(hGpio,GPIO_PIN13|GPIO_PIN15,GPIO_OUTPUT);
   GPIO_pinWrite(hGpio,GPIO_PIN13|GPIO_PIN15,1);
   
   IRQ_reset(IRQ_EVT_EXTINT4);
   IRQ_disable(IRQ_EVT_EXTINT4);
   IRQ_clear(IRQ_EVT_EXTINT4);
   IRQ_enable(IRQ_EVT_EXTINT4);
   }
void SdramInit(void)
 {
/*************************************************************************
* Standard 6211/6711 DSK includes 2 MT48LC1M16A1-7 devices = 4MB SDRAM   *
* For these devices use the following parameter:                         *
*   EMIF_SDCTRL=0x07126000                                               *
* If MT48LC1M16A1-10 devices are installed use the following parameter:  *
*   EMIF_SDCTRL=0x07227000                                               *
* /|\ 16Mb parts = 4MB SDRAM /|\   *-------------------------------------*
*----------------------------------*   \|/ 64Mb parts = 16MB SDRAM \|/   *
* If MT48LC4M16A2-10 devices are installed use the following parameter:  *
*   EMIF_SDCTRL=0x57227000                                               *
*************************************************************************/

  *(unsigned volatile int *)EMIF_GCR = 0x3068;    /* EMIF global control      */
  *(unsigned volatile int *)EMIF_CE1 = CE1_8;    /* EMIF CE1 control, 8bit  */
  *(unsigned volatile int *)EMIF_SDCTRL = 0x53116000;//0x57126000; /* EMIF SDRAM control   */ 
  *(unsigned volatile int *)EMIF_CE0 = 0x90;      /* EMIF CE0 control         */
  *(unsigned volatile int *)EMIF_SDRP = 0x61a;    /* EMIF SDRM refresh period */
  *(unsigned volatile int *)EMIF_SDEXT= 0x54529;  /* EMIF SDRM extension      */

  /*****************************************************************************
   * Start state
   ****************************************************************************/
   *(unsigned int *)0x807ffff0=0x7799aabb;   
   }
/*
void IntSelInit(void)
 {
   *(unsigned volatile int *)IML=0x250f39ac;
   *(unsigned volatile int *)IMH=0x04402d43;
   }
*/
void iis0_init(void)
 {
   hMcbsp0=MCBSP_open(MCBSP_DEV0,MCBSP_OPEN_RESET);
   MCBSP_config(hMcbsp0,&mcbspCfg0);
   MCBSP_start(hMcbsp0,MCBSP_XMIT_START|MCBSP_RCV_START|
               MCBSP_SRGR_START|MCBSP_SRGR_FRAMESYNC,220);              
  }
void iis1_init(void)
 {
   hMcbsp1=MCBSP_open(MCBSP_DEV1,MCBSP_OPEN_RESET);
   MCBSP_config(hMcbsp1,&mcbspCfg1);
   MCBSP_start(hMcbsp1,MCBSP_XMIT_START|MCBSP_RCV_START|
               MCBSP_SRGR_START|MCBSP_SRGR_FRAMESYNC,220);                      
  } 
void set_interrupts_edma(void)    
{
 IRQ_reset(IRQ_EVT_EDMAINT);
 IRQ_disable(IRQ_EVT_EDMAINT);
 EDMA_intDisable(12);         /* ch 12 for McBSP transmit event XEVT0 */
 EDMA_intDisable(13);         /* ch 13 for McBSP receive event REVT0 */
 IRQ_clear(IRQ_EVT_EDMAINT);
 EDMA_intClear(12);
 EDMA_intClear(13);
 IRQ_enable(IRQ_EVT_EDMAINT);
 EDMA_intEnable(12);
 EDMA_intEnable(13);  
}   
void init_edma(void)
 {
  TI_EDMA_CFG();
  set_interrupts_edma();
     *(unsigned volatile int *)McBSP0_DXR=SendMcbspDat;
     *(unsigned volatile int *)McBSP1_DXR=SendMcbspDat;  
     RecvMcbspDat=*(unsigned volatile int *)McBSP0_DRR; 
   }
/***********************************/
interrupt void xint0()
  {
    if(SendCnt>10000)
     {SendCnt=0;}
    else
     {SendCnt++;}
    SendMcbspDat=RecvMcbspDat; 
   }
interrupt void rint0()
  {
   RecvMcbspDat=*(unsigned volatile int *)McBSP0_DRR;
   *(unsigned volatile int *)McBSP0_DXR=SendMcbspDat;
   }
interrupt void timer0_isr()
  {
   static unsigned int i=0,j=0;
   if(i>100)
     {
       i=0;
       j++;
        }
   else
     {i++;}
    if(j>200)
     {
      j=0;
      }
    if(j>0&&j<100)
     { 
        GPIO_pinWrite(hGpio,GPIO_PIN13,1);
        GPIO_pinWrite(hGpio,GPIO_PIN15,0);
       }
    else
     
     {
        GPIO_pinWrite(hGpio,GPIO_PIN13,0);
        GPIO_pinWrite(hGpio,GPIO_PIN15,1);
       }
   }
interrupt void ext_int4(void)
{
   static Uint32 ExtIntCnt=0;
   if(ExtIntCnt<0xffff)
     {ExtIntCnt++;}
   else
     {ExtIntCnt=0;}   
  } 
interrupt void c_int08(void)  /* vecs.asm hooks this up to IRQ 08 */
{
  if (EDMA_intTest(12)) 
  {
   xmit0_done = TRUE;
   EDMA_intClear(12); /* clear CIPR bit so future interrupts can be recognized */
  }

  else if (EDMA_intTest(13)) 
  {
   recv0_done = TRUE;
   EDMA_intClear(13); /* clear CIPR bit so future interrupts can be recognized */
  }
 return;
}
void initrecsendbuf(void)
{
  Uint32 i;
  for(i=0;i<256;i++)
   { gBufferRcvPing[i]=0x0;
     gBufferRcvPong[i]=0x0;
     gBufferXmtPing[i]=i+0xaaaa5555;
     gBufferXmtPong[i]=i+0xaaaa5555;
     }
  for(i=0;i<1000;i++)
   {
     inbuf[i]=0x5432+i;
     outbuf[i]=0x1000+i;
     }
  
  } 
Uint16 bypass_bit=0;
void ProcessBlock(short pingpong)
{
  Uint16 i=0;
   if(pingpong==PING)                        //Ping module
     {
        for(i=0;i<512;i++)
         {
           Buffer_iir_l[i]=(float)(gBufferRcvPing[i*2]);
           Buffer_iir_r[i]=(float)(gBufferRcvPing[i*2+1]);
           }  
        if(bypass_bit==1)
         {               
		        DSPF_sp_biquad(Buffer_iir_l,b0,a0,dlyl_0,mid_iir,512);
		        DSPF_sp_biquad(mid_iir,b1,a1,dlyl_1,Buffer_iir_l,512); 
		        
		        DSPF_sp_biquad(Buffer_iir_r,b0,a0,dlyr_0,mid_iir,512);
		        DSPF_sp_biquad(mid_iir,b1,a1,dlyr_1,Buffer_iir_r,512); 
          }
        for(i=0;i<512;i++)
         {
           gBufferXmtPing[i*2]=(int)(Buffer_iir_l[i]);
           gBufferXmtPing[i*2+1]=(int)(Buffer_iir_r[i]);
           }              
      }
       
   if(pingpong==PONG)                         //Pong module
     {    
        for(i=0;i<512;i++)
         {
           Buffer_iir_l[i]=(float)gBufferRcvPong[i*2];
           Buffer_iir_r[i]=(float)gBufferRcvPong[i*2+1];
           }
        if(bypass_bit==1)
         {         
		        DSPF_sp_biquad(Buffer_iir_l,b0,a0,dlyl_0,mid_iir,512);
		        DSPF_sp_biquad(mid_iir,b1,a1,dlyl_1,Buffer_iir_l,512); 
		        DSPF_sp_biquad(Buffer_iir_r,b0,a0,dlyr_0,mid_iir,512);
		        DSPF_sp_biquad(mid_iir,b1,a1,dlyr_1,Buffer_iir_r,512); 
		    }
        for(i=0;i<512;i++)
         {
           gBufferXmtPong[i*2]=(int)Buffer_iir_l[i];
           gBufferXmtPong[i*2+1]=(int)Buffer_iir_r[i];
           }   
      }    
  }

int main()
{
  /* DSP initialization*/
  IRQ_globalDisable();                 /* Disable all interrupts        */
  IER=1;                               /* Disable all interrupts except NMI   */
  IRQ_setVecs((void *)0x800);		           /* point to the IRQ vector table */
  PLLInit();
  CSL_init();
  SdramInit();
  //IntSelInit();
  iis0_init();
  iis1_init();
  initrecsendbuf();
  init_edma();
  init_IIR();
  TIMER_Init();
  initGpio();
/************************************************************/
  IER|=0x0003;                          /* enable interrupts except NMI   */
  IRQ_globalEnable();                           /*enable all interrupts*/  
/************************************************************/
  while(1)
   {
     if(xmit0_done&&recv0_done)
       {
        xmit0_done=0;
        recv0_done=0;
        if(pingORpong==PING)
         {
           ProcessBlock(PING);
           pingORpong=PONG;
           
           }
        else
         {
           ProcessBlock(PONG);
           pingORpong=PING;   
           }

        }
     }
}

 


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产a精品视频| 国产精品久线观看视频| 97久久久精品综合88久久| 精品一区二区三区在线视频| 日韩不卡手机在线v区| 日韩精品电影在线| 久久精品国产一区二区三| 经典三级在线一区| 成人黄色一级视频| 91视频.com| 在线观看日产精品| 欧美日本韩国一区| 久久综合一区二区| 亚洲丝袜另类动漫二区| 亚洲精品国产a| 日韩精品一卡二卡三卡四卡无卡| 九九久久精品视频| 福利一区福利二区| 色噜噜偷拍精品综合在线| 欧美日韩你懂得| 久久免费看少妇高潮| 国产精品久久久久永久免费观看| 一区二区三区在线影院| 日韩高清不卡一区二区三区| 国产一区二区免费视频| 欧洲精品一区二区三区在线观看| 欧美三级中文字幕在线观看| 日韩女优av电影| 亚洲国产精品传媒在线观看| 亚洲欧美日韩精品久久久久| 日韩电影在线一区| 成人晚上爱看视频| 欧美一区二区三级| 亚洲欧洲韩国日本视频| 天天av天天翘天天综合网| 国产精品资源在线| 欧美日韩久久一区二区| 久久精品夜色噜噜亚洲aⅴ| 亚洲自拍偷拍欧美| 国产91色综合久久免费分享| 欧美日韩国产综合一区二区三区| 久久综合久久综合亚洲| 亚洲成人综合在线| 成人精品国产福利| 欧美电视剧在线观看完整版| 亚洲一区在线播放| jizz一区二区| 久久综合狠狠综合久久综合88| 亚洲精品国产无天堂网2021| 风间由美中文字幕在线看视频国产欧美| 欧美色综合影院| 国产精品国产三级国产有无不卡 | 久久久99精品免费观看| 亚洲一区二区黄色| 成人国产亚洲欧美成人综合网 | 欧美剧在线免费观看网站| 久久先锋影音av| 日韩 欧美一区二区三区| 日本精品一区二区三区四区的功能| 欧美激情一区在线观看| 国产毛片精品国产一区二区三区| 欧美一区二区三区四区五区| 亚洲一二三区在线观看| 色噜噜狠狠色综合中国| 一区二区三区av电影| 91美女福利视频| 亚洲视频一区在线观看| 9i在线看片成人免费| 国产精品欧美极品| 成人av综合在线| 亚洲人成在线播放网站岛国| 91看片淫黄大片一级在线观看| 国产精品天美传媒沈樵| 国产传媒日韩欧美成人| 欧美激情一区二区三区蜜桃视频| 国产电影精品久久禁18| 国产精品网曝门| 99国产一区二区三精品乱码| 亚洲蜜臀av乱码久久精品| 色综合天天综合网天天看片| 亚洲精品视频在线看| 色天天综合色天天久久| 亚洲午夜精品网| 欧美巨大另类极品videosbest | 日韩一区二区三区在线观看| 日本aⅴ精品一区二区三区 | 亚洲综合色区另类av| 在线观看日韩国产| 三级欧美韩日大片在线看| 在线成人av网站| 久久av资源网| 国产精品美女视频| 色偷偷久久人人79超碰人人澡| 亚洲一区二区三区爽爽爽爽爽| 欧美日韩电影在线播放| 九九精品视频在线看| 国产精品你懂的| 日本道色综合久久| 另类人妖一区二区av| 亚洲国产精品99久久久久久久久| 99久久99久久精品免费看蜜桃| 亚洲线精品一区二区三区八戒| 欧美一区二区三区视频在线| 国产高清精品久久久久| 亚洲一区二区三区激情| 欧美一区二区三区在线观看视频| 风间由美一区二区三区在线观看| 亚洲自拍偷拍网站| 国产视频一区不卡| 欧美日韩情趣电影| 粉嫩一区二区三区在线看| 亚洲成在线观看| 国产精品丝袜黑色高跟| 91精品国产乱码久久蜜臀| 成人激情黄色小说| 精品制服美女久久| 亚洲精品国产一区二区精华液 | 7777精品伊人久久久大香线蕉完整版| 国产一区二区三区久久久| 亚洲自拍另类综合| 欧美精品一区二区高清在线观看 | 国产精品亚洲专一区二区三区| 亚洲黄色小说网站| 久久这里都是精品| 欧美理论片在线| 一本在线高清不卡dvd| 国产一区二区伦理| 无吗不卡中文字幕| 一区二区三区视频在线观看| 国产欧美日韩视频在线观看| 91精品国产色综合久久ai换脸| 91色.com| 成人深夜在线观看| 国产精品1024| 国产美女视频一区| 久久黄色级2电影| 日本不卡一区二区三区 | 亚洲精品一区二区精华| 91精品国产麻豆| 欧美人妖巨大在线| 色综合久久中文综合久久97| 国产另类ts人妖一区二区| 天堂va蜜桃一区二区三区 | 亚洲女同一区二区| 一区在线播放视频| 国产精品丝袜黑色高跟| 国产精品婷婷午夜在线观看| 久久精品水蜜桃av综合天堂| 2024国产精品视频| 日韩一区二区麻豆国产| 欧美一级欧美三级在线观看| 7777精品伊人久久久大香线蕉的 | 亚洲另类春色国产| 亚洲免费三区一区二区| 一区二区三区中文字幕在线观看| 亚洲视频一二三| 亚洲另类在线视频| 亚洲黄网站在线观看| 亚洲一区二区在线视频| 亚洲国产视频a| 日韩中文字幕91| 美女www一区二区| 韩国一区二区视频| 国产91精品免费| jlzzjlzz欧美大全| 欧美三级电影网站| 日韩欧美国产小视频| 久久蜜桃av一区二区天堂| 国产亚洲va综合人人澡精品| 国产精品午夜电影| 亚洲综合在线五月| 另类小说图片综合网| 成人av在线资源网站| 在线视频一区二区三区| 欧美一区二区三区成人| 久久日韩精品一区二区五区| 国产精品久久久久四虎| 亚洲福利一二三区| 久久99深爱久久99精品| a美女胸又www黄视频久久| 欧美日韩综合不卡| 精品福利视频一区二区三区| 国产精品素人视频| 午夜视频一区二区三区| 麻豆精品在线看| 国产盗摄一区二区| 欧美自拍丝袜亚洲| 日韩免费视频一区二区| 中文天堂在线一区| 天堂成人免费av电影一区| 国产91在线观看| 欧美精品乱码久久久久久按摩| 亚洲国产成人自拍| 日韩国产欧美三级| 色综合视频一区二区三区高清| 日韩精品中文字幕在线一区| 亚洲在线视频一区| 成人在线综合网| 欧美大黄免费观看| 性久久久久久久|