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

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

?? pcm.c

?? 利用DSP實現(xiàn)PCM算法的語音壓縮和識別的源程序
?? C
字號:
/*																				*/
/*  Copyright 2004 by SEED Electronic Technology LTD.                           */
/*  All rights reserved. SEED Electronic Technology LTD.                        */
/*  Restricted rights to use, duplicate or disclose this code are               */
/*  granted through contract.    											    */
/*                                           									*/
/*  Authors: david																*/
/*  Data: 2006/10/28															*/
/********************************************************************************/
#include "type.h"
#include "codec.h"
#include "sysreg.h"
#include "mcbsp54.h"
#include "memory.h"
/********************************************************************************/
/*數(shù)據(jù)緩沖區(qū)的首址為0x8000,長度為0x8000*/
#define AUDIODATA 0x8000
/********************************************************************************/
#define  AUDIOTRY      0xAA0A//音頻試聽
#define  AUDIOPCM      0xAA09//音頻PCM
//實驗操控:
//選擇TESTCOMMAND,1為試聽;2為和聲。
//選擇CODECAGAIN,48-127之間。是調整增益的參數(shù)。
//最好在110-127之間,否則聲音太小,難以聽到。

#define TESTCOMMAND    2     //操作命令選擇 
unsigned int  Command =0;
/////////////////////////////////////////////////////////////////////
HANDLE codec_command =0;
HANDLE codec_data=0;
/////////////////////////////////////////////////////////////////////
int audioleft, audioright;	
unsigned int i= 0;
/*********************************************************************/
void pcm();
/*********************************************************************/
main()
{	
	/*設置系統(tǒng)時鐘*/
	sys_clk(CLK160);
#if TESTCOMMAND==1
	Command =AUDIOTRY;//試聽 0xAA0A
#endif
#if TESTCOMMAND==2	
	Command =AUDIOPCM;//PCM 0xAA09
#endif
	/*打開codec數(shù)據(jù)接口*/
	codec_data = codec_open(CODEC_DATA);
	/*打開codec命令接口*/
	codec_command = codec_open(CODEC_COMMAND);
	/*選擇麥克風作為輸入 0x14,選擇Line in作為輸入 0x12*/
	codec_analog_mode(codec_command,0x12);
	/*設置波特率,輸入與輸出均為8K*/
	codec_sample_rate(codec_command,0xd);
	
	/*配置系統(tǒng)存儲器*/	
	memory_set(0x80);	
	
	//設置增益	
	codec_headhponeout_gain(codec_command,127);	
	for(;;)
	{	
		switch(Command)
		{
			/*音頻試聽*/
			case AUDIOTRY:
				/* Wait for sample from handset */
				while (!MCBSP_RRDY(CODEC_DATA)) {};
				/* Read sample from and write back to handset codec */
					audioleft = *(volatile u16*)DRR1_ADDR(CODEC_DATA);
				while (!MCBSP_RRDY(CODEC_DATA)) {};
				/* Read sample from and write back to handset codec */
					audioright = *(volatile u16*)DRR1_ADDR(CODEC_DATA);
				
				while (!MCBSP_XRDY(CODEC_DATA)) {};
					*(volatile u16*)DXR1_ADDR(CODEC_DATA) = audioleft;
					
				while (!MCBSP_XRDY(CODEC_DATA)) {};
					*(volatile u16*)DXR1_ADDR(CODEC_DATA) = audioright;
			break;					
			/*音頻PCM*/	
			case AUDIOPCM:
				pcm();				
			break;							
			default:
			break;
		} 		
	}							     
}
/***********************************************************************************/
/*函數(shù)名:pcm()																	   */
/***********************************************************************************/
void pcm()
{
	int *pAudio;
    int sign, segment;
    int temp, quant;
    char seg;
    unsigned int absol, tem;
    int *pWork,nAudioCount;
    unsigned int uWork;
    unsigned char cWork;
    int output;
    
   	pAudio=pWork=(int *)AUDIODATA;
	nAudioCount=0;
    for ( i=0;i<1024;i++,pWork++ ) (*pWork)=0;
    pWork=pAudio;
	
	do{    
    	/* Wait for sample from handset */
		while (!MCBSP_RRDY(CODEC_DATA)) {};
		/* Read sample from and write back to handset codec */
			audioleft = *(volatile u16*)DRR1_ADDR(CODEC_DATA);
		while (!MCBSP_RRDY(CODEC_DATA)) {};
		/* Read sample from and write back to handset codec */
			audioright= *(volatile u16*)DRR1_ADDR(CODEC_DATA);	
		/*取右道的數(shù)據(jù)做為運算的數(shù)據(jù)*/
		tem=absol=abs(audioleft);
	    sign=(audioleft >= 0)?1:0;
        for(i=0;i<16;i++)
	    {
	        output=tem&0x8000;
	        if(output)
	             break;
	         tem<<=1;
        }
        seg=11-i;
	    if(seg<=0)
        {
            seg=0;
            quant=(absol>>1)&0x0F;
        }
        else
	        quant=(absol>>seg)&0x0F;
        seg<<=4;
        output=seg+quant;
        if(absol>4095) 
            output=0x7F;
        if(sign)
	        output^=0xD5;
        else
	        output^=0x55;
        uWork=(unsigned char)output;
	      /*inttoa函數(shù)完結*/
       	uWork<<=8;
         /*以下為inttoa函數(shù):uWork|=inttoa(right);*/
        tem=absol=abs(audioright);
	    sign=(audioright >= 0)?1:0;
        for(i=0;i<16;i++)
	    {
	        output=tem&0x8000;
	        if(output)
	            break;
	        tem<<=1;
	    }
	    seg=11-i;
        if(seg<=0)
        {
            seg=0;
            quant=(absol>>1)&0x0F;
        }
        else
            quant=(absol>>seg)&0x0F;
        seg<<=4;
        output=seg+quant;
        if(absol>4095) 
            output=0x7F;
        if(sign)
	        output^=0xD5;
        else
	        output^=0x55;
        uWork|=(unsigned char)output;
       /*inttoa函數(shù)完結*/
       	(*pWork)=uWork;
       	cWork=uWork>>8;
       	/*以下為atoint函數(shù):left=atoint(cWork);*/
       	temp=cWork^0xD5;
       	sign=(temp&0x80)>>7;
       	segment=(temp&0x70)>>4;
       	quant=temp&0x0F;
       	quant<<=1;
       	if(!segment)
	        quant+=1;
        else
	    {
            quant+=33;
            quant<<=segment-1;
        }
        if ( sign )
            audioleft=-quant;
        else
            audioleft=quant;
        /*atoint函數(shù)完結*/  
        cWork=uWork&0x0ff;
       	/*以下為atoint函數(shù):right=atoint(cWork); */
       	temp=cWork^0xD5;
       	sign=(temp&0x80)>>7;
       	segment=(temp&0x70)>>4;
       	quant=temp&0x0F;
       	quant<<=1;
       	if(!segment)
	         quant+=1;
	    else
        {
            quant+=33;
            quant<<=segment-1;
        }
        if ( sign )
            audioright=-quant;
        else
            audioright=quant;
	        /*atoint函數(shù)完結*/   
		/* Wait for sample from handset */
		while (!MCBSP_XRDY(CODEC_DATA)) {};
			*(volatile u16*)DXR1_ADDR(CODEC_DATA) = audioright;
		while (!MCBSP_XRDY(CODEC_DATA)) {};
			*(volatile u16*)DXR1_ADDR(CODEC_DATA) = audioleft;
		nAudioCount++; pWork++;
        if ( nAudioCount>=1024 )
        {
        	nAudioCount=0;
        	pWork=pAudio;
        }
    }
    while(Command==0xaa09); 
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区视频精品免费 | 91麻豆免费看| 久久久美女艺术照精彩视频福利播放| 久久精品久久综合| 精品国产a毛片| 懂色av一区二区三区免费看| 国产精品福利av| 欧美曰成人黄网| 美国毛片一区二区三区| 国产拍欧美日韩视频二区| 99精品热视频| 偷窥少妇高潮呻吟av久久免费 | 精品乱人伦小说| 国产一区二区在线观看免费| 欧美国产一区在线| 色老综合老女人久久久| 青草av.久久免费一区| 久久久精品免费免费| 91高清视频免费看| 久久电影网电视剧免费观看| 18成人在线观看| 51精品国自产在线| 成人在线综合网| 亚洲成a人片在线观看中文| 日韩精品一区在线观看| 99久久久国产精品免费蜜臀| 日韩av一区二区三区四区| 亚洲国产成人在线| 欧美一区二区三区在线看| 成人黄色一级视频| 麻豆精品在线观看| 亚洲欧美偷拍另类a∨色屁股| 欧美精品久久99| 国产99久久久精品| 日本不卡不码高清免费观看| 国产精品视频免费| 欧美一级生活片| 在线观看亚洲专区| 国产老肥熟一区二区三区| 亚洲国产成人av好男人在线观看| 精品国产乱码久久久久久蜜臀| 91蜜桃在线免费视频| 经典一区二区三区| 亚洲成人免费影院| 亚洲视频小说图片| 久久久久国产精品免费免费搜索| 欧美日韩美女一区二区| 成人精品免费网站| 国产永久精品大片wwwapp| 日韩二区在线观看| 亚洲人精品一区| 国产精品理伦片| 国产欧美一区二区精品忘忧草| 欧美日韩国产高清一区二区| 色哟哟欧美精品| 成人不卡免费av| 国产精品99久久久久久似苏梦涵 | 亚洲午夜一二三区视频| 中文字幕 久热精品 视频在线| 欧美美女一区二区三区| 色综合久久天天| 成人97人人超碰人人99| 国产成人综合亚洲网站| 国产在线播放一区三区四| 久久国产精品色| 日本欧美大码aⅴ在线播放| 亚洲综合成人在线| 亚洲午夜久久久久久久久久久| 中文字幕综合网| 成人欧美一区二区三区| 国产精品免费人成网站| 国产精品视频在线看| 国产精品毛片a∨一区二区三区| 久久久久国产精品免费免费搜索| 久久在线观看免费| 久久久久久免费网| 国产女人aaa级久久久级 | 欧美成人福利视频| 日韩一区二区三区在线视频| 日韩片之四级片| 日韩欧美在线1卡| 精品国偷自产国产一区| 久久影院午夜论| 欧美国产日韩精品免费观看| 亚洲国产成人午夜在线一区| 国产精品无遮挡| 亚洲视频在线观看三级| 亚洲成人av在线电影| 首页国产丝袜综合| 久久精品国产亚洲高清剧情介绍| 精品影视av免费| 国产精品2024| 97se狠狠狠综合亚洲狠狠| 91美女视频网站| 4438成人网| 久久日韩精品一区二区五区| 欧美国产精品一区二区| 一区二区在线观看免费| 婷婷开心久久网| 国产一区啦啦啦在线观看| 成人av在线看| 欧美性生活大片视频| 日韩欧美专区在线| 国产精品久久综合| 五月天亚洲精品| 国产乱人伦精品一区二区在线观看 | 欧美日韩在线观看一区二区 | 国产欧美综合在线| 亚洲免费观看高清完整版在线 | 亚洲综合偷拍欧美一区色| 日韩精品电影在线| 国产99久久久国产精品潘金网站| 91国偷自产一区二区三区成为亚洲经典 | 精品一区二区三区在线观看国产| 国产精品系列在线观看| 欧美亚洲综合在线| 精品蜜桃在线看| 一区二区三区蜜桃| 国内精品第一页| 91成人网在线| 久久精品一区二区三区不卡牛牛| 最新中文字幕一区二区三区| 日韩不卡手机在线v区| 成人黄色在线视频| 欧美草草影院在线视频| 亚洲欧美另类图片小说| 精品一区二区三区久久| 欧美视频三区在线播放| 久久影院午夜片一区| 亚洲va欧美va人人爽午夜| 成人av在线播放网址| 欧美va亚洲va香蕉在线| 一个色妞综合视频在线观看| 国产精品一区久久久久| 91精品在线免费| 一区二区三区色| 国产91综合一区在线观看| 欧美一区二区三区电影| 亚洲黄网站在线观看| 国产v综合v亚洲欧| 欧美精品一区二区三区视频| 香蕉乱码成人久久天堂爱免费| 99久久免费精品| 精品精品国产高清a毛片牛牛| 性做久久久久久免费观看欧美| 99麻豆久久久国产精品免费| 久久久亚洲精华液精华液精华液 | 日本精品裸体写真集在线观看| 久久精品亚洲乱码伦伦中文| 琪琪久久久久日韩精品| 欧洲av一区二区嗯嗯嗯啊| 最新中文字幕一区二区三区| 大白屁股一区二区视频| 久久综合色播五月| 精品一区二区三区蜜桃| 日韩一区二区电影在线| 肉肉av福利一精品导航| 欧美日韩一区二区三区视频| 亚洲精品ww久久久久久p站| av高清久久久| 成人欧美一区二区三区视频网页 | 日韩国产在线观看一区| 欧美亚洲动漫制服丝袜| 悠悠色在线精品| 欧美综合一区二区| 亚洲线精品一区二区三区| 欧美色精品在线视频| 亚洲成av人片观看| 欧美区一区二区三区| 午夜婷婷国产麻豆精品| 制服丝袜av成人在线看| 麻豆精品一区二区av白丝在线| 欧美成人艳星乳罩| 国产精品一区二区久激情瑜伽 | 日韩欧美aaaaaa| 久久99在线观看| 国产片一区二区| 91亚洲国产成人精品一区二区三| 国产精品日韩成人| 91国在线观看| 日韩成人dvd| 精品处破学生在线二十三| 国产一区二区福利视频| 中文字幕一区二区三区蜜月 | 成人激情黄色小说| 亚洲免费在线电影| 欧美亚洲另类激情小说| 久久99久久久久| 国产精品网站在线观看| 91黄色免费网站| 狠狠色狠狠色综合| 中文字幕一区不卡| 欧美日韩综合色| 久久www免费人成看片高清| 国产女人aaa级久久久级| 欧美亚洲愉拍一区二区| 久久er99精品| 亚洲理论在线观看| 欧美大白屁股肥臀xxxxxx| 高清不卡在线观看av|