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

📄 intrsrvc.c

📁 一个滤波器和一个音效处理程序 TI 的CCS 编译器编程。
💻 C
字号:
/* ***********************************************************
* THIS PROGRAM IS PROVIDED "AS IS". TI MAKES NO WARRANTIES OR
* REPRESENTATIONS, EITHER EXPRESS, IMPLIED OR STATUTORY, 
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS 
* FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR 
* COMPLETENESS OF RESPONSES, RESULTS AND LACK OF NEGLIGENCE. 
* TI DISCLAIMS ANY WARRANTY OF TITLE, QUIET ENJOYMENT, QUIET 
* POSSESSION, AND NON-INFRINGEMENT OF ANY THIRD PARTY 
* INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE PROGRAM OR 
* YOUR USE OF THE PROGRAM.
*
* IN NO EVENT SHALL TI BE LIABLE FOR ANY SPECIAL, INCIDENTAL, 
* CONSEQUENTIAL OR INDIRECT DAMAGES, HOWEVER CAUSED, ON ANY 
* THEORY OF LIABILITY AND WHETHER OR NOT TI HAS BEEN ADVISED 
* OF THE POSSIBILITY OF SUCH DAMAGES, ARISING IN ANY WAY OUT 
* OF THIS AGREEMENT, THE PROGRAM, OR YOUR USE OF THE PROGRAM. 
* EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF 
* REMOVAL OR REINSTALLATION, COMPUTER TIME, LABOR COSTS, LOSS 
* OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF 
* USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S 
* AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF 
* YOUR USE OF THE PROGRAM EXCEED FIVE HUNDRED DOLLARS 
* (U.S.$500).
*
* Unless otherwise stated, the Program written and copyrighted 
* by Texas Instruments is distributed as "freeware".  You may, 
* only under TI's copyright in the Program, use and modify the 
* Program without any charge or restriction.  You may 
* distribute to third parties, provided that you transfer a 
* copy of this license to the third party and the third party 
* agrees to these terms by its first use of the Program. You 
* must reproduce the copyright notice and any other legend of 
* ownership on each copy or partial copy, of the Program.
*
* You acknowledge and agree that the Program contains 
* copyrighted material, trade secrets and other TI proprietary 
* information and is protected by copyright laws, 
* international copyright treaties, and trade secret laws, as 
* well as other intellectual property laws.  To protect TI's 
* rights in the Program, you agree not to decompile, reverse 
* engineer, disassemble or otherwise translate any object code 
* versions of the Program to a human-readable form.  You agree 
* that in no event will you alter, remove or destroy any 
* copyright notice included in the Program.  TI reserves all 
* rights not specifically granted under this license. Except 
* as specifically provided herein, nothing in this agreement 
* shall be construed as conferring by implication, estoppel, 
* or otherwise, upon you, any license or other right under any 
* TI patents, copyrights or trade secrets.
*
* You may not use the Program in non-TI devices.
* ********************************************************* */
/***********************************************************************
**  File Name:    IntrSrvc.c
**  Part Number:  TLV320AIC10/11EVM-SW-00002
************************************************************************
**  Copyright (c) Texas Instruments, Inc. 2000
************************************************************************
**
**  Release History:
**     Version      Date          Engr          Description
**      1.00     10-11-2000    Wendy X Fang   Original Release
**
************************************************************************
**
**  Function:
**    This file includes all interrupt service routines (ISR) for
**    T5402 DSP that communicates to AIC10 CODEC EVM.
**
************************************************************************
**  References:
**    (1) TMS320C54x DSP, CPU and Peripheral (SPRU131)
**    (2) TMS320C54x DSP, Enhanced Peripheral (SPRU302)
***********************************************************************/

/***********************************************************************
** Include Statements
***********************************************************************/
#include   "IntrSrvc.h" 

/***********************************************************************
**  Interrupt Serivece Routines
***********************************************************************/

/******** This ISR responds to McBSP0 receive ready
          flags to load ADC data from McBSP RX register
          and send DTMF tone to AIC10 for output
          This interrupt occures at 16Khz frequency!  *******/
interrupt void McBSP0RXISR()
{
    McBSP0Frame=McBSP0_DRR1&0x0001; /* get master/slave bit */
    if (McBSP0Frame == 1)
    {                               /* while McBSP0 comm to master AIC */
       MS_ADC = McBSP0_DRR1&0xFFFE; /* load master AIC10 ADC result    */
       McBSP0_DXR1 = SOut;          /* securied voice to mstr AIC DAC  */
    }
    else
    {                               /* while McBSP0 comm to slave AIC */
       SL_ADC = McBSP0_DRR1&0xFFFE; /* load slave AIC10 ADC result    */
       McBSP0_DXR1 = ToneWave;      /* DTMF tone to slave AIC DAC     */
    } 

    IFR   |= 0x0010;                /* reset BRINT0 interrupt flag    */  
}

/******** This ISR responds to FS to generate
          input for DCSI input on the AIC10-EVM
          via McBSP1 TX ready interrupt (BXINT1)
          This routine will be call if DCSI is used
          as for configuration for AIC10 device
          control registers. Do the following
          before enable this interrupt:
          (1) Set DCSICount = 0;
          (2) Clear McBSP1's RX/TX interrupt flags first;
          (3) Enable McBSP1's TX; and
          (4) Enable BXINT1                       *******/
          
interrupt void McBSP0TXISR()
{ 
    if (McBSP1Frame == 0)          /* while at master phase  */
    {
       DCSIData  = SlaveCRValues[DCSICount]; /* load slave data  */
       DCSICount += 1;            /* point to next CR        */
       McBSP1Frame = 1;
    }
    else                           /* while at slave phase       */
    {
       DCSIData = MasterCRValues[DCSICount];
       if (DCSICount >= 4)        /* total 4 CRs at each AIC */
       {                          /* while finished config:  */
           DCSICount  = 0;        /* clear Counter           */
           DCSIConfig = 0;        /* clear DCSI Config flag  */
       }
       McBSP1Frame = 0;    
    }
    IFR |= 0x0800;                 /* reset BXINT1 interrupt flag */
    McBSP1_DXR1 = DCSIData;        /* put data to McBSP1 TX reg   */
}

/***********************************************************************
**  End of File -- IntrSrvc.c
***********************************************************************/

⌨️ 快捷键说明

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