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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? initialize.c

?? visual dsp++ audio iir
?? C
字號(hào):
#include "Talkthrough.h"

//--------------------------------------------------------------------------//
// Function:	Init_EBIU													//
//																			//
// Description:	This function initializes and enables asynchronous memory 	//
//				banks in External Bus Interface Unit so that Flash A can be //
//				accessed.													//
//--------------------------------------------------------------------------//
void Init_EBIU(void)
{
	*pEBIU_AMBCTL0	= 0x7bb07bb0;  //需要在此填入控制時(shí)序//
	*pEBIU_AMBCTL1	= 0x7bb07bb0;  //需要在此填入控制時(shí)序//
	*pEBIU_AMGCTL	= 0x000f;  //需要在此填入使能控制//
}


//--------------------------------------------------------------------------//
// Function:	Init_Flash													//
//																			//
// Description:	This function initializes pin direction of Port A in Flash A//
//				to output.  The AD1836_RESET on the ADSP-BF533 EZ-KIT board //
//				is connected to Port A.										//
//--------------------------------------------------------------------------//
void Init_Flash(void)
{
	*pFlashA_PortA_Dir = 0x1;
}


//--------------------------------------------------------------------------//
// Function:	Init1836()													//
//																			//
// Description:	This function sets up the SPI port to configure the AD1836. //
//				The content of the array sCodec1836TxRegs is sent to the 	//
//				codec.														//
//--------------------------------------------------------------------------//
void Init1836(void)
{
	int i;
	int j;
	static unsigned char ucActive_LED = 0x01;
	
	// write to Port A to reset AD1836
	*pFlashA_PortA_Data = 0x00;
	
	// write to Port A to enable AD1836
	*pFlashA_PortA_Data = ucActive_LED;
	
	// wait to recover from reset
	for (i=0; i<0xf000; i++);

	// Enable PF4
	*pSPI_FLG = FLS4;
	// Set baud rate SCK = HCLK/(2*SPIBAUD) SCK = 2MHz	
	*pSPI_BAUD = 16;
	// configure spi port
	// SPI DMA write, 16-bit data, MSB first, SPI Master
	*pSPI_CTL = TIMOD_DMA_TX | SIZE | MSTR;
	
	// Set up DMA5 to transmit
	// Map DMA5 to SPI
	*pDMA5_PERIPHERAL_MAP	= 0x5000;
	
	// Configure DMA5
	// 16-bit transfers
	*pDMA5_CONFIG = WDSIZE_16;
	// Start address of data buffer
	*pDMA5_START_ADDR = (void *) sCodec1836TxRegs;
	// DMA inner loop count
	*pDMA5_X_COUNT = CODEC_1836_REGS_LENGTH;
	// Inner loop address increment
	*pDMA5_X_MODIFY = 2;
	
	// enable DMAs
	*pDMA5_CONFIG = (*pDMA5_CONFIG | DMAEN);
	// enable spi
	*pSPI_CTL = (*pSPI_CTL | SPE);
	
	// wait until dma transfers for spi are finished 
	for (j=0; j<0xaff; j++);
	
	// disable spi
	*pSPI_CTL = 0x0000;
}


//--------------------------------------------------------------------------//
// Function:	Init_Sport0													//
//																			//
// Description:	Configure Sport0 for TDM mode, to transmit/receive data 	//
//				to/from the AD1836. Configure Sport for external clocks and //
//				frame syncs.												//
//--------------------------------------------------------------------------//
void Init_Sport0(void)
{
	// Sport0 receive configuration
	// External CLK, External Frame sync, MSB first
	// 16-bit data
	*pSPORT0_RCR1 = RFSR|RCKFE;
	*pSPORT0_RCR2 = SLEN_16|RSFSE;
		
	// Sport0 transmit configuration
	// External CLK, External Frame sync, MSB first
	// 16-bit data
	*pSPORT0_TCR1 = TFSR|TCKFE;
	*pSPORT0_TCR2 = SLEN_16|TSFSE;
}


//--------------------------------------------------------------------------//
// Function:	Init_DMA													//
//																			//
// Description:	Initialize DMA1 in autobuffer mode to receive and DMA2 in	//
//				autobuffer mode to transmit									//
//--------------------------------------------------------------------------//
void Init_DMA(void)
{
	pDmaDescR0.next_desc_ptr = (unsigned int)(&pDmaDescR1);
	pDmaDescR0.start_addr =  (unsigned long)iRxBuffer0;
	pDmaDescR0.cfg = DMAFLOW | NDSIZE | WDSIZE_16 | WNR| DMAEN| DI_EN ;
	pDmaDescR0.x_count = 2*VEC_SIZE;
	pDmaDescR0.x_modify = 2;
	pDmaDescR0.y_count = 0;
	pDmaDescR0.y_modify = 0;
	
	pDmaDescR1.next_desc_ptr = (unsigned int)(&pDmaDescR0);
	pDmaDescR1.start_addr =  (unsigned long)iRxBuffer1;
	pDmaDescR1.cfg = DMAFLOW | NDSIZE | WDSIZE_16 | WNR| DMAEN| DI_EN ;
	pDmaDescR1.x_count = 2*VEC_SIZE;
	pDmaDescR1.x_modify = 2;
	pDmaDescR1.y_count = 0;
	pDmaDescR1.y_modify = 0;
	
	pDmaDescT0.next_desc_ptr = (unsigned int)(&pDmaDescT1);
	pDmaDescT0.start_addr =  (unsigned long)iTxBuffer0;
	pDmaDescT0.cfg = DMAFLOW | NDSIZE | WDSIZE_16| DMAEN| DI_EN ;
	pDmaDescT0.x_count = 2*VEC_SIZE;
	pDmaDescT0.x_modify = 2;
	pDmaDescT0.y_count = 0;
	pDmaDescT0.y_modify = 0;
	
	pDmaDescT1.next_desc_ptr = (unsigned int)(&pDmaDescT0);
	pDmaDescT1.start_addr =  (unsigned long)iTxBuffer1;
	pDmaDescT1.cfg = DMAFLOW | NDSIZE | WDSIZE_16| DMAEN| DI_EN ;
	pDmaDescT1.x_count = 2*VEC_SIZE;
	pDmaDescT1.x_modify = 2;
	pDmaDescT1.y_count = 0;
	pDmaDescT1.y_modify = 0;
	
	// Set up DMA1 to receive
	// Map DMA1 to Sport0 RX
	*pDMA1_PERIPHERAL_MAP = 0x1000;   //需要填入控制//
	ssync();
	// Configure DMA1
	// 32-bit transfers, Interrupt on completion, Autobuffer mode
	*pDMA1_CONFIG = DMAFLOW | NDSIZE | WDSIZE_16 | WNR;
	*pDMA1_NEXT_DESC_PTR = 	&pDmaDescR0;
	// Start address of data buffer
	*pDMA1_START_ADDR = iRxBuffer0;
	// DMA inner loop count
	*pDMA1_X_COUNT = 0;
	// Inner loop address increment
	*pDMA1_X_MODIFY	= 0;
	
	
	// Set up DMA2 to transmit
	// Map DMA2 to Sport0 TX
	*pDMA2_PERIPHERAL_MAP = 0x2000;  //需要填入控制//
	ssync();
	// Configure DMA2
	// 32-bit transfers, Autobuffer mode
	*pDMA2_CONFIG = DMAFLOW | NDSIZE | WDSIZE_16;
	*pDMA2_NEXT_DESC_PTR = 	&pDmaDescT0;
	// Start address of data buffer
	*pDMA2_START_ADDR = iTxBuffer0;
	// DMA inner loop count
	*pDMA2_X_COUNT = 0;
	// Inner loop address increment
	*pDMA2_X_MODIFY	= 0;
}


//--------------------------------------------------------------------------//
// Function:	Init_Interrupts												//
//																			//
// Description:	Initialize Interrupt for Sport0 RX							//
//--------------------------------------------------------------------------//
void Init_Sport_Interrupts(void)
{
	// Set Sport0 RX (DMA1) interrupt priority to 2 = IVG9 
	*pSIC_IAR0 = 0xffffffff;
	*pSIC_IAR1 = 0xffffff2f;
	*pSIC_IAR2 = 0xffffffff;

	// assign ISRs to interrupt vectors
	// Sport0 RX ISR -> IVG 9
	register_handler(ik_ivg9, Sport0_RX_ISR);		

	// enable Sport0 RX interrupt
	*pSIC_IMASK = 0x00000200;
	ssync();
}


//--------------------------------------------------------------------------//
// Function:	Enable_DMA_Sport											//
//																			//
// Description:	Enable DMA1, DMA2, Sport0 TX and Sport0 RX					//
//--------------------------------------------------------------------------//
void Enable_DMA_Sport0(void)
{
	// enable DMAs
	*pDMA2_CONFIG	= (*pDMA2_CONFIG | DMAEN);
	*pDMA1_CONFIG	= (*pDMA1_CONFIG | DMAEN);
	
	// enable Sport0 TX and RX
	*pSPORT0_TCR1 	= (*pSPORT0_TCR1 | TSPEN);
	*pSPORT0_RCR1 	= (*pSPORT0_RCR1 | RSPEN);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品色综合| 高清视频一区二区| 3d动漫精品啪啪1区2区免费| 一区二区三区精品| 欧美伊人久久久久久午夜久久久久| 一区二区三区丝袜| 欧美日韩黄视频| 麻豆精品久久精品色综合| 精品日韩99亚洲| 成人国产在线观看| 一区二区三区资源| 欧美一区二区不卡视频| 国产一区二区三区蝌蚪| 国产精品久久夜| 精品污污网站免费看| 美女精品一区二区| 欧美国产禁国产网站cc| 91麻豆国产福利精品| 日韩精品欧美成人高清一区二区| 日韩精品一区二| 99久久伊人精品| 日韩av在线发布| 国产精品久久久久一区二区三区| 在线免费不卡视频| 国内精品久久久久影院一蜜桃| 国产欧美日韩视频在线观看| 欧美亚洲一区三区| 国产永久精品大片wwwapp| 综合电影一区二区三区| 91精品国产91综合久久蜜臀| 成人午夜在线播放| 日韩中文字幕亚洲一区二区va在线| 久久久久久黄色| 欧美亚一区二区| 国产美女精品人人做人人爽| 亚洲欧美色综合| 欧美变态tickling挠脚心| 成人avav影音| 精品亚洲国内自在自线福利| 亚洲美女视频一区| 久久在线观看免费| 欧美片在线播放| 99视频有精品| 国产尤物一区二区在线| 日韩高清电影一区| 亚洲男人的天堂网| 国产欧美日韩三级| 精品国内二区三区| 欧美精品亚洲一区二区在线播放| 成人久久18免费网站麻豆 | 亚洲人123区| 久久亚洲综合色| 欧美精品久久久久久久久老牛影院| 国产99一区视频免费| 日本不卡免费在线视频| 亚洲一二三区视频在线观看| 欧美国产禁国产网站cc| 久久影院午夜论| 欧美一区二区在线看| 欧美写真视频网站| 97se亚洲国产综合在线| 成人性色生活片免费看爆迷你毛片| 蜜臀av一区二区在线免费观看 | 中文字幕免费不卡在线| 欧美大片国产精品| 91精品欧美一区二区三区综合在 | 欧美性大战久久久久久久| 不卡的看片网站| 国产高清亚洲一区| 国产美女在线精品| 国产精品中文字幕一区二区三区| 免费成人结看片| 日韩有码一区二区三区| 日韩影院在线观看| 免费看黄色91| 久久99精品国产91久久来源| 毛片av一区二区三区| 美女脱光内衣内裤视频久久网站 | 18成人在线观看| 国产精品嫩草99a| 国产精品福利av| 亚洲精品老司机| 男男gaygay亚洲| 99久久精品国产毛片| 自拍偷在线精品自拍偷无码专区| 在线精品观看国产| 国产91丝袜在线播放| 精品女同一区二区| 性欧美疯狂xxxxbbbb| 亚洲精选视频免费看| 91精品视频网| 精品少妇一区二区三区在线视频| 精品福利一二区| 久久久国产综合精品女国产盗摄| 久久精品一区蜜桃臀影院| 欧美国产一区二区| 亚洲精品国产成人久久av盗摄| 亚洲免费伊人电影| 五月天丁香久久| 国产一区二区视频在线| 成人动漫精品一区二区| 99久久综合99久久综合网站| 在线免费精品视频| 欧美va日韩va| 亚洲欧洲国产日韩| 亚洲成人av福利| 精品一区免费av| 91性感美女视频| 91精品国产欧美一区二区成人| 久久亚洲综合色一区二区三区 | 在线观看区一区二| 欧美乱妇15p| 久久精品日韩一区二区三区| 亚洲女人****多毛耸耸8| 视频在线观看一区| 国产电影一区二区三区| 欧美色视频一区| 国产日韩精品一区二区三区在线| 亚洲伦在线观看| 精品亚洲成a人| 欧美午夜电影在线播放| 久久色视频免费观看| 亚洲午夜久久久久久久久电影院 | 欧美亚洲日本一区| 久久久久久免费毛片精品| 亚洲一区二区三区激情| 国产福利精品导航| 在线电影欧美成精品| 国产精品久久99| 久久av中文字幕片| 欧美视频你懂的| 国产日韩av一区| 免费一级欧美片在线观看| 91尤物视频在线观看| 久久亚洲免费视频| 日韩av高清在线观看| 91免费在线视频观看| 久久日一线二线三线suv| 天天色天天爱天天射综合| 9色porny自拍视频一区二区| 精品粉嫩aⅴ一区二区三区四区| 一区二区三区久久| 成人va在线观看| 久久久久久久一区| 日韩av在线发布| 欧美在线观看视频在线| 亚洲国产精品成人综合| 久久精品久久久精品美女| 欧美日韩日本视频| 亚洲精品免费播放| 成人视屏免费看| 久久精品亚洲一区二区三区浴池| 日韩电影在线观看一区| 欧美性色黄大片手机版| 亚洲视频一二区| 97精品久久久久中文字幕| 国产精品区一区二区三区| 国产精品亚洲综合一区在线观看| 91精品久久久久久久91蜜桃 | 免费成人美女在线观看| 欧美精品色一区二区三区| 亚洲狠狠爱一区二区三区| 91视频一区二区| 亚洲欧洲国产日韩| 91麻豆免费视频| 亚洲欧美日韩中文播放| 色悠悠久久综合| 亚洲蜜臀av乱码久久精品蜜桃| 99精品视频免费在线观看| 亚洲天堂成人在线观看| 色猫猫国产区一区二在线视频| 综合久久国产九一剧情麻豆| 91在线小视频| 一区二区国产视频| 欧美亚洲综合色| 丝袜美腿亚洲色图| 91精品国产一区二区人妖| 麻豆一区二区99久久久久| 欧美成人一区二区三区| 国产美女精品人人做人人爽| 欧美韩国日本一区| 色视频欧美一区二区三区| 亚洲一卡二卡三卡四卡五卡| 欧美日韩午夜精品| 免费在线看一区| 国产日韩成人精品| 色综合一个色综合亚洲| 亚洲国产精品视频| 精品日韩一区二区三区| 国产不卡一区视频| 一区在线观看视频| 欧美精品在线一区二区三区| 久久精品国产精品亚洲综合| 欧美韩国日本一区| 欧日韩精品视频| 久久99久久99小草精品免视看| 欧美韩国日本一区| 欧美色图天堂网| 国产一区视频在线看| 亚洲欧美综合色|