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

📄 libsi3000startsampling.c

📁 Audio compression on embedded board
💻 C
字号:
/*********************************************************************
*                                                                    *
*                       Software License Agreement                   *
*                                                                    *
*   The software supplied herewith by Microchip Technology           *
*   Incorporated (the "Company") for its dsPIC controller            *
*   is intended and supplied to you, the Company's customer,         *
*   for use solely and exclusively on Microchip dsPIC                *
*   products. The software is owned by the Company and/or its        *
*   supplier, and is protected under applicable copyright laws. All  *
*   rights are reserved. Any use in violation of the foregoing       *
*   restrictions may subject the user to criminal sanctions under    *
*   applicable laws, as well as to civil liability for the breach of *
*   the terms and conditions of this license.                        *
*                                                                    *
*   THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION.  NO           *
*   WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING,    *
*   BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND    *
*   FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE     *
*   COMPANY SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,  *
*   INCIDENTAL OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.  *
*                                                                    *
*********************************************************************/

/******************************************************************************
**
**  Filename:     libSi3000StartSampling.c
**
**  System:       RISC
**
**  Platform:     dsPIC33F
**
**  Description:  This file contains only the libSi3000StartSampling
**                (short* buf1,short* buf2,short* expandbuf1,short* expandbuf2,
**                short*  buffer1,short*  buffer2) API. It enables the user to
**                start sampling speech data from the SI 3000 codec.
** 
******************************************************************************/

#include <p33Fxxxx.h>
#include "G711Lib_common.h"
#include "G711Lib_si3000.h"
#include "G711Lib_internal.h"

/******************************************************************************
**
**  FunctionName: libSi3000StartSampling ( )
**
**  Description:  This API enables the user to start sampling speech data from
**                SI3000 codec.This API has two inputs which have to be passed
**                to it as parameters, it also accesses the codecsetup
**                structure members.Both the parameters are pointers to user
**                defined sample buffers.These buffers will be handled as ping
**                pong buffers.i.e.when data is being filled in one buffer the
**                other buffer will be used to retrieve already stored data and
**                vice versa when the other buffer is being filled with data.
**
******************************************************************************/
void libSi3000StartSampling (
 short *buf1,
 short *buf2,
 short *expandbuf1,
 short *expandbuf2,
 short *buffer1,
 short *buffer2 )
{
  /* Initialize the sample buffer 1 pointer to one of the user defined ping
     pong buffers */
  codecdata.sampleIpBuffer = buf1;

  /* Initialize the sample buffer 2 pointer to the other user defined ping
     pong sample buffer */
  codecdata.sampleOpBuffer = buf2;

  /* Initialize the sample buffer 1 pointer to one of the user defined ping
     pong buffers */
  codecdata.sampleExpandIpBuffer = expandbuf1;

  /* Initialize the sample buffer 2 pointer to the other user defined ping
     pong sample buffer */
  codecdata.sampleExpandOpBuffer = expandbuf2;

  /* Initialize the sample buffer 11 pointer to one of the user defined ping
     pong buffers */
  codecdata.sampleComprsIpBuffer = buffer1;

  /* Initialize the sample buffer 12 pointer to one of the user defined ping
     pong buffers */
  codecdata.sampleComprsOpBuffer = buffer2;

  codecdata.blockCount = 0x0000;              //Clear the flag for playing
                                              //new record.
  _DCIIF = 0x00;				              //Clear the DCI interrupt flag
  IPC15bits.DCIIP =  g711.dciintpri;          //Set Interrupt Priority of DCI.

  /* Send digital silence to the output And start sampling speech data from
     SI 3000 */
  TXBUF0 = 0x0000;
  TXBUF1 = 0x0000;
  TXBUF2 = 0x0000;
  TXBUF3 = 0x0000;
   
  _DCIIF = 0x00;  				              //Clear DCI interrupt flag .
  _DCIIE = 0x01;					          //Enable DCI interrupts
  _DCIEN = 0x01;					          //Enable the DCI peripheral. 
							             
  IFS0bits.U1RXIF = 0x00;			          //Clear Rx interrupt flag
  IEC0bits.U1RXIE = 0x01;			          //Enable Rx ISR processing
}

/*-----------------------------------------------------------------------------
                          END OF FILE: libSi3000StartSampling.c
-----------------------------------------------------------------------------*/

⌨️ 快捷键说明

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