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

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

?? i2s.c

?? WAV 數字輸出播放器
?? C
字號:
#include <p33FJ64GP306.h>
#include "I2S.h"
#include "integer.h"

// This source handles I2S transmitter.
// it runs as automatic data flow from 2 page DMA memory to I2S

//DMA Memory page 1 and 2
WORD dci1TxBuffA[512] __attribute__((space(dma)));
WORD dci1TxBuffB[512] __attribute__((space(dma)));

//Interrupt notice Flag in main.c
extern BYTE DMA_Flag_A;

// BY Microchip Sample source code
void i2s_Init (void)
{
/*
In this section we will set up the DCI module for I2S operation to interface 
with a stereo audio codec sampling data at 44.1 KHz. The timing diagram is 
provided in Fig 1 below:
                                  FIGURE 1
       _______________________________
      |		 	    	              |	                              |
COFS: |	  	     	                  |_______________________________|
       _   _   _   _   _   _   _   _   _   _   _   _   _   _   _   _   _    
CSCK:_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_|
          |<--------Left Channel Data---->|<----Right Channel Data------->|
          |<---------32 bits------------->|<---------32 bits------------->|
          |<---TXBUF0---->|<----TXBUF1--->|<---TXBUF2---->|<----TXBUF3--->|
          |<--TimeSlot0-->|<--TimeSlot1-->|<--TimeSlot0-->|<--TimeSlot1-->|
          |<--------------------1/Fs = 22.7 microseconds----------------->|
*/

	//DCI Control Register DCICON1 Initialization
	DCICON1 = 0;
	DCICON1bits.CSCKD = 0;	// Serial Bit Clock (CSCK pin) is output	
	DCICON1bits.CSCKE = 1;	// Data changes on falling edge, sampled on rising edge of CSCK
	DCICON1bits.COFSD = 0;	// Frame Sync Signal is output	
	DCICON1bits.UNFM = 0;	// Transmit 0 on a transmit underflow
	DCICON1bits.CSDOM = 0;	// CSDO pin drives 0 during disabled transmit time slots
	DCICON1bits.DJST = 0;	// Data TX/RX is begun one serial clock cycle after frame sync pulse
	DCICON1bits.COFSM = 1;	// Frame Sync Signal set up for I2S mode 

	// DCI Control Register DCICON2 Initialization
	DCICON2 = 0;
	DCICON2bits.BLEN = 0;	// One data word will be buffered between interrupts	
	DCICON2bits.COFSG = 1;	// Data frame has 2 words  viz., LEFT & RIGHT samples
	DCICON2bits.WS = 15;	// Data word size is 16 bits

	// DCI Control Register DCICON3 Initialization
	DCICON3 = BCG_VAL;	    // Set up CSCK Bit Clock Frequency

	// Transmit Slot Control Register Initialization
	TSCONbits.TSE0 = 1;	    // Transmit on Time Slot 0	
	TSCONbits.TSE1 = 1;	    // Transmit on Time Slot 1	

	// Disable DCI Interrupt and Enable DCI module
	IFS3bits.DCIIF=0;
    IEC3bits.DCIIE=0; //Disable since DMA is used

}



/*=============================================================================
_DMA0Init(): Initialise DMA0 for DCI Data Transmission 
=============================================================================*/
// DMA0 configuration
// Direction: Read from DMA RAM and write to peripheral address 0x298 (TXBUF0 register)
// AMODE: Register Indirect with Post-Increment mode
// MODE: Continuous, Ping-Pong Enabled
// IRQ: DCI
void dma0_Init(void)
{
	DMA0CONbits.CHEN = 0;		//Disable
	DMA0CONbits.SIZE = 0;		//Word
	DMA0CONbits.DIR = 1;		//Read From DPSRAM, write to peripheral
	DMA0CONbits.HALF = 0;		//Block Transfer Int is caused at FULL moved
	DMA0CONbits.NULLW = 0;		//Null write to peripheral
	DMA0CONbits.AMODE = 0;		//Register indirect with Post-Increment
	DMA0CONbits.MODE = 0x02;	//Continuous, ping-pong mode enabled

	DMA0CNT = 511;				//Transfer count, Frame - 1		
	
	DMA0REQbits.FORCE = 0;		//Register indirect with Post-Increment

	DMA0REQbits.IRQSEL = 0x003C;	//Select DCI Codec		

	DMA0PAD = 0x0298;	//Periferal Address = DCI TXBUF 0
	
	DMA0STA= __builtin_dmaoffset(dci1TxBuffA);	//Page A buffer address
	DMA0STB= __builtin_dmaoffset(dci1TxBuffB);	//Page B buffer address
}


void dma0_start(void)
{	
	IFS0bits.DMA0IF  = 0;			// Clear DMA interrupt
	IEC0bits.DMA0IE  = 1;			// Enable DMA interrupt
	DMA0CONbits.CHEN = 1;			// Enable DMA Channel	
}


//Enable I2S
void i2s_start(void)
{
	DCICON1bits.DCIEN = 1; 
}


//Stop I2S
void i2s_stop(void)
{
	DCICON1bits.DCIEN = 0; 
}


//This interrupt will happen every 2.9ms (128 samples in 512 word, 44.1kHz)
void __attribute__((interrupt, no_auto_psv)) _DMA0Interrupt(void)
{
		DMA_Flag_A = 1;				//notice to main.c
		
        IFS0bits.DMA0IF = 0;		//Clear the DMA0 Interrupt Flag
}

// Initialise I2S Transmit Buffer
void initI2sBuff(void)
{
	unsigned int i;
    
	for(i=0;i<512;i++) 
	{
		dci1TxBuffA[i]= 0x0000;	
		dci1TxBuffB[i]= 0x0000;	
	}
    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91尤物视频在线观看| 7878成人国产在线观看| 日韩高清一级片| 国产精品污网站| 欧美一区二区视频免费观看| 成人福利在线看| 麻豆成人av在线| 一区二区久久久| 国产日产欧美一区二区视频| 欧美福利一区二区| 91啪亚洲精品| 高清日韩电视剧大全免费| 日韩电影一区二区三区| 亚洲激情自拍视频| 欧美激情一区二区三区蜜桃视频 | 欧美日韩亚洲另类| 成人av影院在线| 精品夜夜嗨av一区二区三区| 亚洲一区自拍偷拍| 日韩美女啊v在线免费观看| 久久一区二区三区四区| 欧美精品高清视频| 欧美三级日韩三级国产三级| 99精品视频一区二区三区| 国产精品正在播放| 国产一区999| 极品少妇xxxx精品少妇| 男人的天堂亚洲一区| 日韩高清一区在线| 日本亚洲欧美天堂免费| 天天av天天翘天天综合网| 一区二区三区高清不卡| 亚洲美女视频一区| 亚洲摸摸操操av| 亚洲乱码国产乱码精品精的特点 | 精品少妇一区二区三区日产乱码 | 国产精品三级电影| 国产欧美日韩视频在线观看| 国产日韩欧美精品一区| 久久人人超碰精品| 国产女同性恋一区二区| 国产精品人妖ts系列视频| 国产精品视频一区二区三区不卡| 国产欧美一区二区精品性| 国产精品视频麻豆| 亚洲人成精品久久久久| 亚洲精品久久久久久国产精华液| 亚洲人成在线观看一区二区| 一区二区理论电影在线观看| 五月天丁香久久| 秋霞成人午夜伦在线观看| 另类调教123区 | 欧美丰满高潮xxxx喷水动漫| 制服丝袜亚洲网站| 精品国免费一区二区三区| 久久久久国产一区二区三区四区| 欧美激情中文字幕| 亚洲激情综合网| 免费成人在线观看视频| 国产伦精品一区二区三区视频青涩 | 免费看精品久久片| 国产大陆精品国产| 91免费精品国自产拍在线不卡| 91丨porny丨户外露出| 欧美午夜影院一区| 精品理论电影在线观看| 国产精品国产三级国产aⅴ入口| 亚洲男人的天堂av| 蜜桃免费网站一区二区三区| 国产毛片一区二区| 91视频在线观看免费| 欧美精品视频www在线观看| 精品久久久久香蕉网| 亚洲欧美在线aaa| 偷拍一区二区三区四区| 国产永久精品大片wwwapp| 99re成人精品视频| 91精品国产入口在线| 国产亚洲成年网址在线观看| 精久久久久久久久久久| 99精品国产视频| 欧美日韩免费高清一区色橹橹| 欧美大胆人体bbbb| 亚洲女同女同女同女同女同69| 日韩精品一二三| 不卡视频在线看| 69av一区二区三区| 综合久久给合久久狠狠狠97色| 日韩精品福利网| 99国产精品久久久| 欧美大片免费久久精品三p| 亚洲天堂精品在线观看| 久久99在线观看| 欧美中文字幕一区| 国产日韩亚洲欧美综合| 亚洲国产精品一区二区久久恐怖片 | 国产亚洲一区字幕| 日精品一区二区| av在线播放不卡| 26uuu成人网一区二区三区| 亚洲一区二区三区四区在线免费观看 | 日韩精品在线看片z| 亚洲三级电影全部在线观看高清| 国产在线麻豆精品观看| 欧美日韩国产天堂| 亚洲欧美在线视频观看| 国产精品资源在线观看| 6080yy午夜一二三区久久| 亚洲欧美色综合| 成人不卡免费av| 久久久不卡网国产精品二区| 日韩经典一区二区| 在线观看免费亚洲| 国产精品初高中害羞小美女文| 国产乱子伦视频一区二区三区| 欧美一区二区三区在线视频| 亚洲综合在线电影| 91视频观看免费| 国产精品不卡在线| 成人久久视频在线观看| 国产欧美一区二区精品性色超碰| 麻豆高清免费国产一区| 欧美一卡二卡在线观看| 香蕉乱码成人久久天堂爱免费| 欧美亚洲愉拍一区二区| 一区二区三区四区视频精品免费 | 国产女人aaa级久久久级 | 综合欧美亚洲日本| fc2成人免费人成在线观看播放| 久久精品人人做人人综合| 精品亚洲aⅴ乱码一区二区三区| 在线不卡免费欧美| 日本一道高清亚洲日美韩| 在线播放中文字幕一区| 日本伊人精品一区二区三区观看方式 | 福利91精品一区二区三区| 久久这里只有精品首页| 国产黄色精品网站| 国产精品超碰97尤物18| 91视频观看免费| 亚洲国产精品一区二区久久 | 欧美三级在线播放| 天天色天天操综合| 日韩午夜三级在线| 国产一区二区三区av电影 | 欧美一区二区三区在线| 日本美女一区二区三区视频| 精品欧美黑人一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 在线视频你懂得一区| 亚洲精品一卡二卡| 91精品福利在线| 日日骚欧美日韩| 精品久久国产97色综合| 国产成人a级片| 亚洲欧洲一区二区三区| 在线日韩av片| 蜜桃av噜噜一区| 国产欧美一区二区精品性色超碰| 成人国产精品免费观看动漫| 亚洲一区二区不卡免费| 欧美一卡二卡三卡| 国产91富婆露脸刺激对白| 亚洲三级免费观看| 日韩一二三四区| 国产iv一区二区三区| 亚洲欧美另类小说视频| 91精品国产入口在线| 风间由美一区二区av101| 亚洲欧美国产77777| 91麻豆精品国产91久久久使用方法 | 午夜成人免费电影| 精品国产露脸精彩对白| 91蝌蚪国产九色| 免费欧美在线视频| 中文字幕日韩av资源站| 欧美二区三区的天堂| 国产精品一级二级三级| 亚洲精选视频免费看| 91精品国产综合久久久久| 国产激情偷乱视频一区二区三区| 一区二区三区精品在线| 久久免费视频一区| 欧美性生活影院| 国产·精品毛片| 日韩国产欧美一区二区三区| 国产精品私人影院| 欧美一区二区三区四区久久| av不卡免费在线观看| 久久99精品久久久久久动态图| 日韩一区中文字幕| 久久久天堂av| 欧美精品欧美精品系列| 成人精品亚洲人成在线| 裸体一区二区三区| 伊人一区二区三区| 中文字幕在线观看一区| 亚洲精品一区二区三区影院| 欧美中文字幕一区| 成人性视频网站|