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

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

?? codectest.c

?? TMS320VC5402 合眾達板子實現(xiàn)CODEC
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "type.h"
#include "board.h"
#include "stdio.h"
#include "timer.h"
#include "mcbsp54.h"
#include "codec.h"
//Tms320vc5402 have two timer--TIM0:timer0 TIM1:timer1
#define TIM0	0
#define TIM1	1

//define clkmd register initialize value
#define	PLL15	0x0e007
#define	PLL10	0x9007
#define PLL5	0x4007
#define PLL2	0x1007
#define PLL1	0x0f007
#define DIV2	0x0000
#define DIV4	0xf000

void set_clock(u16 plldiv);		//set system clock mode
void set_wait_states(void);		//set wait state register
void init_io_reg(void);			//initialize CPLD I/O control register

void board_led_toggle(BrdLed led);	//led toggle
void board_led_enable(BrdLed led);	//led enable
void board_led_disable(BrdLed led);	//led disable

void delay(int period);

u16 count=2;
u8  xf_flag=0;
HANDLE hdevice;
s16 data;
u16 CR1=0;		//AD50的控制寄存器1
u16 CR2=0;		//AD50的控制寄存器2
u16 CR3=0;		//AD50的控制寄存器3
u16 CR4=0;		//AD50的控制寄存器4

void main()
{
	asm(" SSBX INTM ");		//disable all interrupt
	
	set_clock(PLL10);		//clkout=10*10=100Mhz
	set_wait_states();
	init_io_reg();

	while(count--)
	{
		board_led_enable(BRD_LED0);
		
		delay(2000);
		board_led_disable(BRD_LED0);
		board_led_enable(BRD_LED1);
		
		delay(2000);
		board_led_disable(BRD_LED1);
		board_led_enable(BRD_LED2);
		
		delay(2000);
		board_led_disable(BRD_LED2);
	}
	
		hdevice = codec_open(HANDSET_CODEC);	//create instance of codec
		
		//codec initialize
		codec_adc_mode(hdevice, CODEC_ADC_15BIT);		
		codec_dac_mode(hdevice, CODEC_DAC_15BIT);
		codec_ain_gain(hdevice, CODEC_AIN_6dB);
		codec_aout_gain(hdevice, CODEC_AOUT_MINUS_6dB);
		codec_sample_rate(hdevice,SR_16000);
		
		for(;;)
		{
		while(!MCBSP_RRDY(HANDSET_CODEC));

       	data = *(volatile u16*)DRR11_ADDR;
       	*(volatile u16*)DXR11_ADDR = data;
       	//data = DRR11;
       	//DXR11 = data;
		}
	
}

//set clock generator mode
void set_clock(u16 plldiv)
{
	if (CLKMD&0x0001)	//if clock generator is PLL mode
	{
		if ((plldiv==DIV2)||(plldiv==DIV4))	//PLL mode to DIV mode
		{
			CLKMD=plldiv;
		}
		else							//PLL mode to PLL mode
		{
			CLKMD=DIV2;					//turn to DIV mode
			while (CLKMD&0x0001);		//check CLKMD PLL status bit
			CLKMD=plldiv|0x07f8;
			while (!(CLKMD&0x0001));	//check CLKMD PLL status bit
		}
	}
	
	else	//else clock generator is DIV mode
	{
		if ((plldiv==DIV2)||(plldiv==DIV4))	//DIV mode to DIV mode
		{
			CLKMD=PLL1|0x07f8;				//turn to PLL mode
			while(!(CLKMD&0x0001));			//check CLKMD PLL status bit
			CLKMD=plldiv;
		}
		else
		{
			CLKMD=plldiv|0x07f8;			//DIV mode to PLL mode
			while (!(CLKMD&0x0001));		//check CLKMD PLL status bit
		}
	}
}

void set_wait_states(void)
{
	SWWSR=0x0d844;
}
	
void init_io_reg(void)
{
	port0=0x10;
	port4=0x03;
	port2=0x00;
	port3=0x30;
	port5=0x00;
	port6=0x00;
}
	
void board_led_enable(BrdLed led)
{
	port0|=0x01<<led;
}

void board_led_disable(BrdLed led)
{
	port0&=~(0x01<<led);

}

void board_led_toggle(BrdLed led)
{
	port0^=(0x01<<led);
}

void delay(int period)
{
    int i, j;
    
    for(i=0; i<period; i++)
    {
        for(j=0; j<period>>1; j++);
    }
}

//多通道緩沖串行口初始化程序,0--串口0 1--串口1
void init_mcbsp(u16 mcbsp)
{
	MCBSP_TX_RESET(mcbsp);				//發(fā)送復位
	MCBSP_RX_RESET(mcbsp);				//接收復位
	MCBSP_SUBREG_WRITE(mcbsp,SPCR1_SUBADDR,0x4000);	//設置SPCR1寄存器。禁止數(shù)字環(huán)回模式;DRR左對齊;禁止SPI模式;非SPI模式下的時鐘停止模式;DX延遲使能禁止;由RRDY產生接收中斷RINT。
	MCBSP_SUBREG_WRITE(mcbsp,SPCR2_SUBADDR,0x0100);	//設置SPCR2寄存器。軟件模式允許;幀同步邏輯復位;采樣率發(fā)生器復位;XRDY產生發(fā)送中斷XINT。
	MCBSP_SUBREG_WRITE(mcbsp,RCR1_SUBADDR,0x0040);	//設置RCR1寄存器。每幀1個字,接收數(shù)據長度為16位。
	MCBSP_SUBREG_WRITE(mcbsp,RCR2_SUBADDR,0);		//設置RCR2寄存器。單數(shù)據相;無壓擴,數(shù)據傳輸從MSB開始;每次傳輸都需要幀同步;0比特數(shù)據延時。
	MCBSP_SUBREG_WRITE(mcbsp,XCR1_SUBADDR,0x0040);	//設置XCR1寄存器。每幀1個字;發(fā)送數(shù)據長度為16位。
	MCBSP_SUBREG_WRITE(mcbsp,XCR2_SUBADDR,0);	//設置XCR2寄存器。單數(shù)據相;無壓擴,數(shù)據傳輸從MSB開始;每次傳輸都需要幀同步;0比特數(shù)據延時。
	MCBSP_SUBREG_WRITE(mcbsp,SRGR1_SUBADDR,0);	//設置SRGR1寄存器。幀同步脈沖的寬度為1CLKG周期;采樣率發(fā)生器時鐘分頻系數(shù)為1。
	MCBSP_SUBREG_WRITE(mcbsp,SRGR2_SUBADDR,0);	//設置SRGR2寄存器。采樣率發(fā)生器時鐘自由運行;CLKS的上升沿產生CLKG和FSG;采樣率發(fā)生器時鐘由CLKS管腳輸入;當DXR[12]拷貝到XSR[12]時產生幀同步信號FSX.
	/*等待兩個CLKG時鐘周期*/
	asm(" nop ");
	asm(" nop ");
	MCBSP_SUBREG_WRITE(mcbsp,PCR_SUBADDR,0x000c);	//設置PCR寄存器。DX、FSX、CLKX、DR、FSR、CLKR配置為串口管腳;FSX、FSR、CLKX、CLKR作為輸入管腳,由外部驅動;FSX、FSR低電平有效;在CLKX的上升沿發(fā)送數(shù)據,在CLKR的下降沿接收數(shù)據。
	MCBSP_ENABLE(mcbsp,3);				//使能串口接收和發(fā)送操作
	/*等待兩個CLKG時鐘周期*/
	asm(" nop ");
	asm(" nop ");

}

//二次通訊請求引腳FC1置1
void set_fc1(void)
{
	port4|=0x08;
}

//二次通訊請求引腳FC1清零
void clr_fc1(void)
{
	port4&=0xf7;
}

/*
	codec_read_reg(ANDLE hDevice,CodecReg reg)--讀AD50 CODEC的控制寄存器
	參數(shù):
	hDevice--控制codec的句柄
	reg--控制寄存器的地址
*/
u16 codec_read_reg(HANDLE hDevice,CodecReg reg)
{
	u16 temp;
	
	temp=((u16)reg<<0x08)+0x2000;	//控制字
	
	//清空接收緩沖區(qū)及RRDY標志
	
	REG_READ(DRR1_ADDR((unsigned int*)hDevice));
	while(!MCBSP_RRDY((unsigned int*)hDevice));
    REG_READ(DRR1_ADDR((unsigned int*)hDevice));
 
	/*等待數(shù)據發(fā)送準備好*/
	
	while(!MCBSP_XRDY((unsigned int*)hDevice));
	set_fc1();
	
	asm(" nop "); 
	asm(" nop ");
	asm(" nop ");
	asm(" nop ");
	
	REG_WRITE(DXR1_ADDR((unsigned int*)hDevice), temp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看一级特黄欧美大片| 亚洲免费观看高清| 制服视频三区第一页精品| 91视频观看视频| 91在线视频18| 色综合久久中文字幕综合网| 色欧美乱欧美15图片| 欧洲中文字幕精品| 欧美一区二区三区在线视频| 欧美一区二区三区免费视频| 日韩一区二区电影在线| 久久久久久久久久电影| 日本一区二区免费在线| 日韩一区中文字幕| 一区二区视频在线| 日韩国产在线一| 国产真实乱对白精彩久久| 国产成人综合精品三级| 99国产精品久久久久久久久久| 欧美一级高清片| 日韩三级免费观看| 国产无遮挡一区二区三区毛片日本| 欧美高清在线视频| 亚洲视频精选在线| 午夜伊人狠狠久久| 国产精品亚洲第一| 欧美日韩在线三区| 欧美不卡一区二区三区四区| 欧美国产日韩a欧美在线观看| 亚洲日本va午夜在线影院| 日韩在线卡一卡二| 成人午夜伦理影院| 91麻豆精品国产91久久久使用方法 | 欧美日韩综合不卡| 久久一区二区三区四区| 1024亚洲合集| 麻豆视频观看网址久久| 成人精品免费看| 欧美精选在线播放| 国产精品美女久久久久高潮| 亚洲国产毛片aaaaa无费看| 久久9热精品视频| 91蜜桃婷婷狠狠久久综合9色| 欧美一级高清片| 一区二区三区精品视频| 国产成人久久精品77777最新版本| 在线免费视频一区二区| 国产女同性恋一区二区| 免费观看久久久4p| 欧美三级电影在线看| 久久精品一区八戒影视| 视频一区二区三区在线| eeuss鲁片一区二区三区 | 亚洲v精品v日韩v欧美v专区| 国产成人综合视频| 久久综合九色综合欧美就去吻| 亚洲国产精品久久艾草纯爱| 97精品国产露脸对白| 久久久.com| 国模少妇一区二区三区| 日韩欧美自拍偷拍| 日韩成人精品在线观看| 欧美午夜精品免费| 一区二区三区在线不卡| 91老师国产黑色丝袜在线| 中文字幕乱码一区二区免费| 久久国内精品自在自线400部| 欧美日韩高清不卡| 亚洲韩国精品一区| 久久品道一品道久久精品| 天堂午夜影视日韩欧美一区二区| 91欧美一区二区| 国产精品久久99| 99精品视频一区| 综合久久国产九一剧情麻豆| 成人一道本在线| 亚洲国产精品成人综合| 国产成人精品aa毛片| 中文字幕欧美区| 99vv1com这只有精品| 亚洲人成网站影音先锋播放| 99视频在线精品| 一区二区在线观看视频在线观看| 日本丰满少妇一区二区三区| 亚洲综合一区二区三区| 欧美肥妇毛茸茸| 蜜桃精品视频在线| 国产亚洲短视频| 91亚洲精品乱码久久久久久蜜桃| 一区二区三区在线影院| 欧美精品第1页| 免费亚洲电影在线| 中文欧美字幕免费| 色婷婷激情一区二区三区| 亚洲综合在线免费观看| 91精品国产入口在线| 国产精品亚洲一区二区三区在线| 中文在线一区二区| 色爱区综合激月婷婷| 日本午夜精品一区二区三区电影| 精品福利一区二区三区| 99精品一区二区| 日韩精品一二三四| 久久久久久**毛片大全| 91污片在线观看| 日本午夜一本久久久综合| 国产欧美精品在线观看| 欧美亚洲禁片免费| 国产精品一区二区x88av| 亚洲日本乱码在线观看| 精品毛片乱码1区2区3区| 97精品电影院| 国内一区二区在线| 一区二区三国产精华液| 久久久午夜精品理论片中文字幕| 91福利视频网站| 国产成人综合亚洲网站| 偷窥少妇高潮呻吟av久久免费| 久久久久久久久蜜桃| 欧美日韩国产美女| 成人a免费在线看| 久久 天天综合| 亚洲国产精品久久一线不卡| 国产亚洲美州欧州综合国| 欧美男同性恋视频网站| av在线一区二区三区| 精品一区二区三区免费| 亚洲第一成年网| 亚洲欧洲精品成人久久奇米网| 5月丁香婷婷综合| 91免费看片在线观看| 成人短视频下载| 国产综合久久久久久久久久久久| 亚洲va国产天堂va久久en| 日韩精品电影在线| 亚洲免费观看高清| 中文字幕综合网| 国产精品久久久久久久久晋中| 精品成人一区二区三区| 欧美一区二区成人6969| 欧美电影在线免费观看| 欧美色图天堂网| 在线免费观看日韩欧美| 在线视频观看一区| 91影视在线播放| 99免费精品视频| 91在线高清观看| 99精品视频在线观看| 成人av在线资源网站| 成人在线视频首页| 成人av在线电影| youjizz国产精品| 色哟哟精品一区| 在线影院国内精品| 欧美视频在线一区| 91精品国产综合久久福利软件| 色先锋资源久久综合| 欧美性猛交一区二区三区精品| 色一情一伦一子一伦一区| 在线视频一区二区三| 在线亚洲免费视频| 欧美丝袜自拍制服另类| 欧美日韩精品一区二区| 欧美一区二区三区四区高清| 日韩一区二区免费在线观看| 欧美一二三在线| 久久精品欧美一区二区三区不卡| 久久久三级国产网站| 国产精品伦一区二区三级视频| 最新欧美精品一区二区三区| 亚洲综合一二区| 激情综合亚洲精品| 国产精品一二一区| 欧美在线观看视频在线| 日韩欧美你懂的| 国产精品久久久久久久久免费桃花 | 欧美日韩日日骚| 日韩你懂的在线观看| 国产欧美精品在线观看| 亚洲一区二区三区四区中文字幕| 日韩av中文字幕一区二区三区| 国产精品影音先锋| 91精品福利视频| 26uuu亚洲综合色| 亚洲人成网站影音先锋播放| 蜜桃传媒麻豆第一区在线观看| 成人的网站免费观看| 91精品欧美久久久久久动漫| 久久精品在这里| 亚洲午夜电影网| 国产aⅴ综合色| 欧美一区二区三区四区五区| 欧美国产一区在线| 日韩黄色免费电影| 99精品国产视频| 久久综合国产精品| 午夜欧美大尺度福利影院在线看| 国产电影一区在线| 日韩欧美一区电影| 一区二区三区四区国产精品|