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

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

?? dma4.c

?? DSP54X系列的FIR濾波器源程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
    MCBSP_RCR2_RFRLEN2_DEFAULT,
    MCBSP_RCR2_RWDLEN2_16BIT,
    MCBSP_RCR2_RCOMPAND_MSB,
    MCBSP_RCR2_RFIG_YES,
    MCBSP_RCR2_RDATDLY_0BIT
  ),                                      /* RCR2  */
  MCBSP_XCR1_RMK(
    MCBSP_XCR1_XFRLEN1_DEFAULT,
    MCBSP_XCR1_XWDLEN1_32BIT
  ),                                      /* XCR1  */
  MCBSP_XCR2_RMK(
    MCBSP_XCR2_XPHASE_SINGLE,
    MCBSP_XCR2_XFRLEN2_OF(0),
    MCBSP_XCR2_XWDLEN2_32BIT,
    MCBSP_XCR2_XCOMPAND_MSB,
    MCBSP_XCR2_XFIG_YES,
    MCBSP_XCR2_XDATDLY_0BIT
  ),                                     /* XCR2  */
  MCBSP_SRGR1_RMK(
    MCBSP_SRGR1_FWID_OF(0),
    MCBSP_SRGR1_CLKGDV_OF(1)
  ),                                     /* SRGR1 */
  MCBSP_SRGR2_RMK(
    MCBSP_SRGR2_GSYNC_FREE,
    MCBSP_SRGR2_CLKSP_RISING,
    MCBSP_SRGR2_CLKSM_INTERNAL,
    MCBSP_SRGR2_FSGM_DEFAULT,
    MCBSP_SRGR2_FPER_DEFAULT 
  ),                                     /* SRGR2 */
  MCBSP_MCR1_DEFAULT,
  MCBSP_MCR2_DEFAULT,
  MCBSP_PCR_RMK(
       MCBSP_PCR_XIOEN_DEFAULT,      
       MCBSP_PCR_RIOEN_DEFAULT,      
       MCBSP_PCR_FSXM_EXTERNAL,      
       MCBSP_PCR_FSRM_EXTERNAL, 
       MCBSP_PCR_SCLKME_NO,                  /* SCLKME   = 0  */      
       MCBSP_PCR_CLKXM_INPUT,       
       MCBSP_PCR_CLKRM_INPUT,      
       MCBSP_PCR_FSXP_ACTIVELOW,       
       MCBSP_PCR_FSRP_ACTIVELOW,       
       MCBSP_PCR_CLKXP_RISING,      
       MCBSP_PCR_CLKRP_RISING
  ),                                     /* PCR   */
  0x0000u,                               /* RCERA */
  0x0000u,                               /* RCERB */
  0x0000u,                               /* XCERA */
  0x0000u,                               /* XCERB */
};   

/* Create a configuration structure for DMA channel 5 using */
/* predefined CSL macros and symbolic constants             */                           
DMA_Config  my_dmaConfigCha5 = {
  1,                               /* Priority */ 
  DMA_DMMCR_RMK(
    DMA_DMMCR_AUTOINIT_OFF,
    DMA_DMMCR_DINM_ON,
    DMA_DMMCR_IMOD_HALF_AND_FULL,
    DMA_DMMCR_CTMOD_ABU,
//        DMA_DMMCR_CTMOD_MULTIFRAME,
    DMA_DMMCR_SLAXS_OFF,
    DMA_DMMCR_SIND_DMIDX0,
    DMA_DMMCR_DMS_DATA,
    DMA_DMMCR_DLAXS_OFF,
    DMA_DMMCR_DIND_NOMOD,
    DMA_DMMCR_DMD_DATA
  ),                               /* DMMCR */ 
  DMA_DMSFC_RMK(
    DMA_DMSFC_DSYN_XEVT0,
    DMA_DMSFC_DBLW_ON,             /*32bit Mode*/
    DMA_DMSFC_FRAMECNT_OF(0)
  ),                               /* DMSFC */
  (DMA_AdrPtr)&src[0],             /* DMSRC */
  (DMA_AdrPtr)MCBSP_ADDR(DXR20),   /* DMDST */
  (Uint16)(Nm2)                     /* DMCTR = buffsize */
};

/* Create configuration structure for DMA channel 4 using */
/* predefined CSL macros and symbolic constants           */
DMA_Config  my_dmaConfigCha4 = {
  0,                              /* Set Priority */ 
  DMA_DMMCR_RMK(
    DMA_DMMCR_AUTOINIT_OFF,
    DMA_DMMCR_DINM_ON,
    DMA_DMMCR_IMOD_HALF_AND_FULL,
    DMA_DMMCR_CTMOD_ABU,
//    DMA_DMMCR_CTMOD_MULTIFRAME,
    DMA_DMMCR_SLAXS_OFF,
    DMA_DMMCR_SIND_NOMOD,
    DMA_DMMCR_DMS_DATA,
    DMA_DMMCR_DLAXS_OFF,
    DMA_DMMCR_DIND_DMIDX0,
    DMA_DMMCR_DMD_DATA
  ),                              /* DMMCR */ 
  DMA_DMSFC_RMK(
    DMA_DMSFC_DSYN_REVT0,
    DMA_DMSFC_DBLW_ON,
    DMA_DMSFC_FRAMECNT_OF(0)
  ),                              /* DMSFC */
  (DMA_AdrPtr)MCBSP_ADDR(DRR20),  /* DMSRC */
  (DMA_AdrPtr)&dst[0],            /* DMDST */
  (Uint16)(Nm2)                    /* DMCTR = buffsize */
};

/* Global declarations */
DMA_Handle myhDmaCha4;
DMA_Handle myhDmaCha5;
MCBSP_Handle myhMcbsp1;
volatile Uint16 WaitForDmaRec = TRUE;
volatile Uint16 WaitForDmaSend= TRUE;
interrupt void hMcbsp1RcvIsr(void);
interrupt void hMcbsp1XmtIsr(void);
interrupt void dmaCha5Isr(void);
interrupt void dmaCha4Isr(void);
void taskFunc(void);
Uint16 RcvFlag;
Uint16 XmtFlag;

void DelayModule(Uint16 DelayNum)
 {
   Uint16 i,j;
   for(i=0;i<100;i++)
    {
      for(j=0;j<DelayNum;j++);
      }
  }
/*----------------------------------------------------------------------------*/
void main() {
  
  Uint16 InitNum,kk;
  /* Initialize CSL library, this step is required */
  CSL_init();

  /* Initialize IVPTR to start of vector table */
  IRQ_setVecs((Uint16)(&VECSTART));
  
  *SWWSR=0x0400;
  asm(" RSBX XF");
  //asm(" STM #0a8H,PMST");
  /* Initialize send and receive buffers */
  for(InitNum=0;InitNum<N;InitNum++)
  {
    src[InitNum]=0;dst[InitNum]=0;
    }
	 for (kk=0; kk<Nd4;kk++)  {TargetLf1[kk]=0;}
     for (kk=0; kk<Nd4;kk++)  {TargetLf2[kk]=0;}
     for (kk=0; kk<Nd4;kk++)  {TargetRf1[kk]=0;}
     for (kk=0; kk<Nd4;kk++)  {TargetRf2[kk]=0;}
     for (kk=0; kk<64; kk++)  {db[kk] = 0;} // clear delay buffer (a must) 
     for (kk=0; kk<64; kk++)  {dbfhl2[kk] = 0;}    
     for (kk=0; kk<64; kk++)  {db2[kk] = 0;}  
     for (kk=0; kk<64; kk++)  {dbfhr2[kk] = 0;} 
  /* Call example function */
   taskFunc();                                   
}

/*----------------------------------------------------------------------------*/
void ProcessSub(void)
   {
     Uint16 pCnt,ii;
          //************************************//
            for(pCnt=0;pCnt<Nd4;pCnt++)
            {
              
              dsttemp=(Dis[pCnt*2+1]&0x80000000);
              if(dsttemp==0x80000000)
               {
                 dsttemp=Dis[pCnt*2+1];
                 dsttemp=(~dsttemp)+1>>16;
                 LchIn[pCnt]=~dsttemp+1;
                 }
              else
               {
                 dsttemp=Dis[pCnt*2+1];
                 LchIn[pCnt]=(dsttemp)>>16;
                 }
              } 
                /* compute */
                fir(LchIn, h,TargetLf1, &dbptr, 64, Nd4);              
                fir(LchIn, fhl2,TargetLf2, &ptrfhl2, 64, Nd4);
                for(ii=0;ii<Nd4;ii++)
                 {LchIn[ii]=(TargetLf1[ii]>>1)*3+TargetLf2[ii];}
                for(pCnt=0;pCnt<Nd4;pCnt++)
                 {
                   Dis[pCnt*2+1]=LchIn[pCnt];
                   Dis[pCnt*2+1]<<=16;
                  }
            ////////////*****************////////////////
            for(pCnt=0;pCnt<Nd4;pCnt++)
            {
              
              dsttemp=(Dis[pCnt*2]&0x80000000);
              if(dsttemp==0x80000000)
               {
                 dsttemp=Dis[pCnt*2];
                 dsttemp=(~dsttemp)>>16;
                 RchIn[pCnt]=~dsttemp;
                 }
              else
               {
                 dsttemp=Dis[pCnt*2];
                 RchIn[pCnt]=(dsttemp)>>16;
                 }
              }     
                /* compute */
                fir(RchIn,h2,TargetRf1,&dbptr2,64,Nd4); 
                fir(RchIn,fhr2,TargetRf2, &ptrfhr2, 64, Nd4);  
                for(ii=0;ii<Nd4;ii++)
                 {RchIn[ii]=(TargetRf1[ii]>>1)*3+TargetRf2[ii];}                     
                for(pCnt=0;pCnt<Nd4;pCnt++)
                 {
                   Dis[pCnt*2]=RchIn[pCnt];
                   Dis[pCnt*2]<<=16;
                  }
           //****************************************//
      }
void taskFunc() {

  MCBSP_Handle myhMcbsp;
  Uint16 hMcbsp1RcvId,hMcbsp1XmtId;
  Uint16 cha4EventId, cha5EventId;
  Uint16 CopyCnt;
  /* Temporarily disable all maskable interrupts */
  /* keeping old status of INTM bit              */
  IRQ_globalDisable();

  /* Open MCBSP channel 0 */
  myhMcbsp = MCBSP_open(MCBSP_PORT0, MCBSP_OPEN_RESET); 
  
  /* Open MCBSP channel 1 */
  myhMcbsp1= MCBSP_open(MCBSP_PORT1, MCBSP_OPEN_RESET); 
   
  /* Write configuration values to MCBSP 0 control registers */
  MCBSP_config(myhMcbsp, &my_mcbspConfig);       

  /* Write configuration values to MCBSP 1 control registers */
  MCBSP_config(myhMcbsp1, &my_mcbspConfig1);    
  
  hMcbsp1RcvId=MCBSP_getRcvEventId(myhMcbsp1);
  hMcbsp1XmtId=MCBSP_getXmtEventId(myhMcbsp1);
  
  /* Open DMA channels 4 & 5*/
  myhDmaCha4 = DMA_open(DMA_CHA4, 0); 
  myhDmaCha5 = DMA_open(DMA_CHA5, 0);

  /* Write configuration structure values to DMa control registers */
  DMA_config(myhDmaCha4, &my_dmaConfigCha4);      
  DMA_config(myhDmaCha5, &my_dmaConfigCha5);     

  /* Get Event ID's associated with DMA channels */
  cha4EventId = DMA_getEventId(myhDmaCha4);
  cha5EventId = DMA_getEventId(myhDmaCha5); 
 
  /* the interrupt selector value in DMA priority and enable  */
  /* register, DMPREC                                         */
  DMA_FSET(DMPREC,INTOSEL,0);
  /* Set FREE bit in DMPREC to enable free run on DMA         */
  DMA_FSET(DMPREC,FREE,1);
  
  /* Clear all pending maskable interrupts */
  CHIP_RSET(IFR,0xFFFFu);                

  /* Enable interrupts for DMA channels 4 & 5*/
  IRQ_enable(cha4EventId);
  IRQ_enable(cha5EventId);

  /* Map DMA interrupts for use with dispatcher */
  IRQ_plug(cha4EventId,&dmaCha4Isr);
  IRQ_plug(cha5EventId,&dmaCha5Isr);

  /* Set value of Global Index Register , DMIDX0 */
  DMA_RSET(DMIDX0,1);
  /* Enable all maskable interrupts, INTM = 0 */
  //IRQ_globalEnable();
          
    /* Start DMA */
  DMA_start(myhDmaCha5);
  DMA_start(myhDmaCha4); 

  IRQ_enable(hMcbsp1RcvId);
  IRQ_enable(hMcbsp1XmtId);
    
  IRQ_plug(hMcbsp1RcvId,&hMcbsp1RcvIsr);
  IRQ_plug(hMcbsp1XmtId,&hMcbsp1XmtIsr);

  /* Start Sample Rate Generator and Enable Frame Sync */  
  MCBSP_start(myhMcbsp, 
    MCBSP_SRGR_START|MCBSP_SRGR_FRAMESYNC , 
    0x200
  ); 
  /* Take MCBSP transmit and receive out of reset */  
  MCBSP_start(myhMcbsp, 
              MCBSP_RCV_START|MCBSP_XMIT_START,
              0x200
              );  
              
  /* Start Sample Rate Generator and Enable Frame Sync */  
  MCBSP_start(myhMcbsp1, 
    MCBSP_SRGR_START|MCBSP_SRGR_FRAMESYNC , //
    0x200
  );
  /* Take MCBSP transmit and receive out of reset */  
  MCBSP_start(myhMcbsp1, 
              MCBSP_RCV_START|MCBSP_XMIT_START,
              0x200
              );                     
  /* Enable all maskable interrupts, INTM = 0 */
  IRQ_globalEnable();
  /* Wait for Transfer to Complete */
  while(1)
    {  
      if(WaitForDmaRec==0)
        {
          WaitForDmaRec=1;
          PingPong=(PingPong+1)&0x01; /*PingPong=0,Ping Status;PingPong=1,Pong*/
          if(PingPong==0)
          {
            for(CopyCnt=0;CopyCnt<Nd2;CopyCnt++)
             {
               Dis[CopyCnt]=dst[CopyCnt];
              }
            }
          else
          {
             for(CopyCnt=Nd2;CopyCnt<N;CopyCnt++)
             {
               Dis[CopyCnt-Nd2]=dst[CopyCnt];
              }           
            }
          //DelayModule(240);
          ProcessSub();  
          if(PingPong==0)
           {       
            for(CopyCnt=0;CopyCnt<Nd2;CopyCnt++)
             {
               src[CopyCnt]=Dis[CopyCnt];
              }
            }
          else
           {
            for(CopyCnt=Nd2;CopyCnt<N;CopyCnt++)
             {
               src[CopyCnt]=Dis[CopyCnt-Nd2];
              }            
            }
            
          }
     }

}

/* DMA Channel ISRs, these functions will be called by DSP/BIOS dispatcher */
/*----------------------------------------------------------------------------*/
interrupt void dmaCha5Isr(void){
           WaitForDmaSend= 0; 
}

/*----------------------------------------------------------------------------*/
interrupt void dmaCha4Isr(void) {
           WaitForDmaRec = 0;
}

Uint16 CmdRcv;
interrupt void hMcbsp1RcvIsr(void){
           RcvFlag=1;
           XmtFlag=0;
           //CmdRcv=MCBSP_read16(myhMcbsp1); 
}

interrupt void hMcbsp1XmtIsr(void){
           RcvFlag=0;
           XmtFlag=1;
           //MCBSP_write32(myhMcbsp1,0x12345789);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人中文字幕在线| 精品一区二区久久| 日韩欧美的一区| 成人短视频下载| 日韩精彩视频在线观看| 日本一区二区三区电影| 91精品国产手机| 91亚洲精品久久久蜜桃网站| 狠狠色丁香久久婷婷综| 视频一区免费在线观看| 亚洲精品菠萝久久久久久久| 欧美精品一区二区精品网| 欧美日本不卡视频| 色域天天综合网| 丁香一区二区三区| 激情伊人五月天久久综合| 午夜精品久久久久久久99樱桃| 国产精品乱人伦一区二区| 26uuuu精品一区二区| 91精品国产高清一区二区三区| 欧美少妇bbb| 一本色道久久加勒比精品| 成人禁用看黄a在线| 国产激情一区二区三区| 韩国v欧美v亚洲v日本v| 久久疯狂做爰流白浆xx| 日韩不卡免费视频| 亚洲国产精品人人做人人爽| 亚洲精品五月天| 亚洲久本草在线中文字幕| 国产精品免费aⅴ片在线观看| 国产日韩av一区| 久久九九影视网| 久久九九全国免费| 中国色在线观看另类| 国产亚洲欧美日韩俺去了| 国产网站一区二区| 国产目拍亚洲精品99久久精品| www久久久久| 久久精品夜夜夜夜久久| 久久精品欧美日韩精品| 国产精品每日更新在线播放网址| 国产清纯白嫩初高生在线观看91| 国产午夜精品理论片a级大结局| 久久精品视频在线免费观看| 中文字幕不卡在线观看| 国产精品麻豆一区二区| 日韩理论在线观看| 有码一区二区三区| 午夜精品123| 美女精品一区二区| 国产伦精品一区二区三区在线观看| 国产剧情一区二区| 国产不卡视频在线播放| av一本久道久久综合久久鬼色| 91在线小视频| 91精品在线一区二区| 精品国产乱码久久久久久浪潮 | av高清久久久| 91久久香蕉国产日韩欧美9色| 欧美亚洲综合久久| 日韩一区二区免费视频| 国产午夜精品一区二区三区嫩草| 国产精品污网站| 亚洲一区二区三区爽爽爽爽爽| 午夜一区二区三区在线观看| 美洲天堂一区二卡三卡四卡视频| 国产成人一区二区精品非洲| 91在线丨porny丨国产| 3atv在线一区二区三区| 精品国产不卡一区二区三区| 日韩毛片高清在线播放| 日本中文字幕一区二区有限公司| 精品一二线国产| 成人性生交大合| 91久久精品午夜一区二区| 日韩欧美久久久| 一色屋精品亚洲香蕉网站| 亚洲成人免费视频| 国产高清精品久久久久| 精品视频免费看| 久久女同精品一区二区| 亚洲美女屁股眼交3| 麻豆精品视频在线观看| 99re亚洲国产精品| 精品欧美一区二区三区精品久久| 国产精品久久一卡二卡| 日本特黄久久久高潮| 成人免费高清视频在线观看| 欧美精品乱人伦久久久久久| 国产女人水真多18毛片18精品视频 | 欧美丰满少妇xxxbbb| 国产日韩欧美一区二区三区综合| 一区二区高清视频在线观看| 国内精品国产三级国产a久久| 色94色欧美sute亚洲线路二 | 91在线视频播放地址| 精品欧美黑人一区二区三区| 亚洲女同一区二区| 国产精品一二三四五| 日韩一级二级三级| 一区二区三区国产精华| 国产高清久久久| 日韩精品一区在线| 日韩中文字幕麻豆| 在线视频国内自拍亚洲视频| 欧美激情一区二区三区不卡| 日本免费新一区视频| 91福利区一区二区三区| 国产亚洲成aⅴ人片在线观看 | 一本高清dvd不卡在线观看| 久久免费视频色| 日韩国产欧美三级| 欧美性生活久久| 1024精品合集| 日日噜噜夜夜狠狠视频欧美人 | 欧美蜜桃一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 91美女在线看| 中文字幕乱码一区二区免费| 欧洲生活片亚洲生活在线观看| 亚洲电影第三页| 国产三级精品三级| 91精品国产91热久久久做人人| 精品一区二区三区在线观看国产| 国产日韩欧美精品综合| 91麻豆精品国产91久久久更新时间| 国产精品资源网| 日韩成人伦理电影在线观看| 国产精品无圣光一区二区| 精品成人一区二区三区四区| 91啪九色porn原创视频在线观看| 免费观看成人av| 日本免费在线视频不卡一不卡二| 日韩欧美卡一卡二| 精品视频一区三区九区| 色哟哟欧美精品| av毛片久久久久**hd| 成人精品电影在线观看| 国产成人在线色| 久久91精品国产91久久小草| 水野朝阳av一区二区三区| 亚洲精品国产一区二区精华液| 2欧美一区二区三区在线观看视频| 欧美日韩亚洲综合在线| www.亚洲免费av| 国产剧情一区二区| 一区二区三区在线高清| 中文字幕亚洲视频| 亚洲欧美日韩国产综合| 一区二区三区在线视频播放| 亚洲视频 欧洲视频| 亚洲色图19p| 偷偷要91色婷婷| 日本不卡一二三区黄网| 日本网站在线观看一区二区三区| 日韩一区精品字幕| 精品一区二区久久| 床上的激情91.| 国产亚洲一本大道中文在线| 日韩午夜在线播放| 中文字幕一区二区三区av| 悠悠色在线精品| 国内精品久久久久影院一蜜桃| 99久久综合狠狠综合久久| 在线日韩国产精品| 日韩你懂的在线观看| 亚洲欧美激情在线| 日本午夜一本久久久综合| 国产精品一区2区| 午夜久久久影院| 国产综合色精品一区二区三区| 99久久精品国产毛片| 欧美精品一区二区不卡 | 欧美无人高清视频在线观看| 日韩一卡二卡三卡| 欧美激情一区二区三区蜜桃视频| 日韩精品91亚洲二区在线观看| 国产激情一区二区三区四区| 制服丝袜亚洲播放| 亚洲人成网站色在线观看| 蜜臀91精品一区二区三区| 精品国产青草久久久久福利| 国产欧美日韩亚州综合| 国模一区二区三区白浆| 激情综合色播五月| 国产专区综合网| 欧美日韩一区二区在线观看| 久久久三级国产网站| 国产精品一区二区三区四区| 欧美大片一区二区三区| 国产精品美女视频| 日韩精彩视频在线观看| 91精品免费观看| 国产v日产∨综合v精品视频| 亚洲欧洲另类国产综合| 欧美日韩中文字幕一区二区| 天堂在线亚洲视频| 国产欧美一区二区三区在线老狼| 色婷婷久久久综合中文字幕 |