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

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

?? sport.c

?? DSP編程
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*msg pingpong mechanism version
data: 2003/10
*/

#ifndef _SPORT_H_
#include "sport.h"
#endif

#ifdef _PINGPONG_VER

const unsigned char SPORT_EDMA_R_PING[3] = {SPORT0_EDMA_R_PING,
                                            SPORT1_EDMA_R_PING,
                                            SPORT2_EDMA_R_PING};       
const unsigned char SPORT_EDMA_R_PONG[3] = {SPORT0_EDMA_R_PONG,
                                            SPORT1_EDMA_R_PONG,
                                            SPORT2_EDMA_R_PONG};
#endif                                            

const unsigned char McBSPx_EDMA_Ch[3] = {12,14,17};
const unsigned char McBSPr_EDMA_Ch[3] = {13,15,18};

//unsigned int 		McBSPr_pBuf[3];  //reserved the buf address
//const unsigned char McBSPx_EDMA_TCC[3] = {8,8,10};
//const unsigned char McBSPr_EDMA_TCC[3] = {9,9,9};

/*--------------------------------------------------------------------------------*/  
/* Description:McBSP test in loopback mode                                        */
/* Parameter:  ch: The McBSP Num                                                  */
/* Return:     if there is some error , return 1                                  */ 
/*               else return 0                                                    */
/* Note:       NULL                                                               */
/*--------------------------------------------------------------------------------*/      
int mcbsp_test(unsigned int ch)
{
  volatile unsigned int temp =0,temp1;
  volatile McBSP_REG * mcbsp;

  if(ch > 2)  return 1 ;

  mcbsp = (volatile McBSP_REG *)(McBSP_BASE_ADDR(ch));
  
  mcbsp->SPCR = 0;         /* reset serial port     */

  mcbsp->SRGR = (1<<CLKSM) + (0<<FSGM) +
                                              (20<<FPER) + (74<<CLKGDV);

  mcbsp->PCR = (1<<FSXM) + (1<<CLKXM);

  mcbsp->RCR = (1<<DATDLY) + (5<<WDLEN1);    /* one 32 bit data/frame */

  mcbsp->XCR = (1<<DATDLY) + (5<<WDLEN1);    /* one 32 bit data/frame */                                                      /* one 16 bit data/frame */

  mcbsp->SPCR = (1<<FRST) + (1<<GRST) + (1<<DLB) +
                                              (1<<XRST) + (1<<RRST) + (1<<RJUST);
  
  mcbsp->DXR = 0xAAAAAAAA;      
  temp1 = mcbsp->DRR;
  temp1 = mcbsp_read(ch); 
  mcbsp_write(0x55555555,ch);
  temp = mcbsp_read(ch);
 
  if (temp != 0x55555555)
  {
    temp = 1;
    return temp;
  }
    
  mcbsp_write(0xAAAAAAAA,ch);
  temp = mcbsp_read(ch);

    
  if (temp != 0xAAAAAAAA)
  {
    temp = 1;
    return temp;
  }
    
  return 0;
}  


/*-------------------------------------------------------------------------*/
/* mcbsp_write() - used for write to McBSP                                 */
/*-------------------------------------------------------------------------*/
void mcbsp_write(int out_data,unsigned int ch)
{
  int temp;
  volatile McBSP_REG * mcbsp;
  
  mcbsp = (volatile McBSP_REG *)McBSP_BASE_ADDR(ch);
  
  temp = mcbsp->SPCR & 0x20000;
  
  while ( temp == 0)
  {
    temp = mcbsp->SPCR & 0x20000;
  }
  
  mcbsp->DXR = out_data;
}

/*-------------------------------------------------------------------------*/
/* mcbsp_read() - used for read from McBSP                               */
/*-------------------------------------------------------------------------*/
int mcbsp_read(unsigned int ch)
{
  int temp;
  volatile McBSP_REG * mcbsp;
  
  mcbsp = (volatile McBSP_REG *)McBSP_BASE_ADDR(ch);
  
  temp = mcbsp->SPCR & 0x2;
  
  while ( temp == 0)
  {
    temp = mcbsp->SPCR & 0x2;
  }
  temp = mcbsp->DRR;
  
  return temp;
}

/*-------------------------------------------------------------------------*/
/* mcbsp_init() -                                		*/
/*-------------------------------------------------------------------------*/
void mcbsp_init(unsigned int ch, unsigned int ClkGdv)
{
	int wait;
	volatile McBSP_REG * mcbsp;
	
  	mcbsp = (volatile McBSP_REG *)(McBSP_BASE_ADDR(ch));
  	
  	mcbsp->SPCR = 0;         /* reset serial port     */

/*********************************************************************************/
/*modefied by shiyan at 11/6/2003*/  	
	mcbsp->SRGR = ((1<<CLKSM) + (0<<FSGM) +
					(320<<FPER) + (ClkGdv<<CLKGDV));

//	mcbsp->SRGR = ((1<<CLKSM) + (0<<FSGM) +
//			((ELEMENT_SIZE*MSG_SIZE-1)<<FPER) + (ClkGdv<<CLKGDV));
/*********************************************************************************/
												
	mcbsp->PCR = ((1<<FSXM) + (1<<CLKXM)
					+(0<<FSRM) + (0<<CLKRM));
	
	mcbsp->XCR = ((1<<FIG) + (5<<WDLEN1) + 
				((MSG_SIZE-1)<<FRLEN1) + (0<<DATDLY)); 

	mcbsp->RCR = ((1<<FIG) + (5<<WDLEN1) + 
  				((MSG_SIZE-1)<<FRLEN1) + (0<<DATDLY));    
	
	mcbsp->MCR = 0;
	mcbsp->SPCR |= (1<<GRST);
	for (wait=0; wait<0x10; wait++);

	mcbsp->SPCR |= ((1<<FREE)+(1<<FRST));
}


/*-------------------------------------------------------------------------*/
/* mcbsp_test_init()                                                       */
/*-------------------------------------------------------------------------*/
void mcbsp_test_init(unsigned int ch) 
{
    volatile McBSP_REG * mcbsp;
	int wait;
    mcbsp = (volatile McBSP_REG *)(McBSP_BASE_ADDR(ch));
    
    mcbsp->SPCR = 0;         /* reset serial port     */
    mcbsp->SRGR = (1<<CLKSM) + (0<<FSGM) + (128<<FPER) + (5<<CLKGDV);
    mcbsp->PCR = (1<<FSXM) + (1<<CLKXM);
    mcbsp->RCR = (1<<FIG) + (0<<DATDLY) + (5<<WDLEN1);    /* one 32 bit data/frame */
    mcbsp->XCR = (1<<FIG) + (0<<DATDLY) + (5<<WDLEN1);    /* one 32 bit data/frame */                                                      /* one 16 bit data/frame */
    
  	mcbsp->MCR = 0;
	mcbsp->SPCR |= (1<<GRST);
	for (wait=0; wait<0x10; wait++);

    mcbsp->SPCR |= (1<<FRST) + (1<<FREE) + (1<<XRST) + (1<<RRST); 
}    

/*-------------------------------------------------------------------------*/


void SPI_Slave_Init(unsigned int ch)
{
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    volatile McBSP_REG * mcbsp;
    mcbsp = (volatile McBSP_REG *)(McBSP_BASE_ADDR(ch));
    
  	mcbsp->SPCR = 0;         /* reset serial port     */

	mcbsp->SPCR |= (2<<CLKSTP);	//10: without delay
															//11: with delay
	mcbsp->SRGR = ((1<<CLKSM) + (0<<FSGM) + (1<<CLKGDV));

  	mcbsp->PCR = ((1<<FSXP) + (1<<CLKXP)+ (0<<CLKRP)) ; 	//CLKXP = 0: transmit data on the rising edge of CLKX
  											//	= 1: transmit data on the falling edge of CLK
    mcbsp->RCR = ((2<<WDLEN1) + (0<<DATDLY)); 

  	mcbsp->XCR = ((2<<WDLEN1) + (0<<DATDLY)); 

	mcbsp->SPCR |= (1<<GRST);// + (0<<DXENA));
  	asm("  nop 9 ");  //等待2個周期	          

}


void McBSP_Start(unsigned int ch)
{
   volatile McBSP_REG * mcbsp;
    mcbsp = (volatile McBSP_REG *)(McBSP_BASE_ADDR(ch));
    mcbsp->SPCR |= (1 << XRST) +  (1 <<RRST); 
	asm("  nop 9 ");  //等待2個周期

}

void McBSP_Reset(unsigned int ch)
{
    volatile McBSP_REG * mcbsp;
    mcbsp = (volatile McBSP_REG *)(McBSP_BASE_ADDR(ch));
    
	mcbsp->SPCR &= ( 0xFFFFFFFF^((1<<XRST) + (1<<RRST)));

}
    
void evt_edmax_init(int src, int dst, int size, int ch)
{ 

	//Config the EDMA Channel 	EDMA Transfer Parameters
//	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + OPT)= 0x41180002;
		//PRI ESIZE 2DS SUM 2DD DUM TCINT TCC  Reserved        LINK FS
		//010  00    0  01   0   00  1    1001 00000000000000  1    0

	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + OPT)= ((0<<PRI) + (0<<ESIZE)+
									(1<<SUM) + (0<<DUM) + (0<<TCINT) + (ch<<TCC)+
									(1<<LINK) + (0<<FS));
	
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + SRC)= src;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + CNT)= size;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + DST)= dst;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + IDX)= 0x00000000;
	*(unsigned volatile int *)(EVENT_PARAMS_ADDR(ch) + LNK)= ((0xffff& SPI_TRANS_PARAMS_RELOAD));
	
	
	*(unsigned volatile int *)(SPI_TRANS_PARAMS_RELOAD + OPT)= ((0<<PRI) + (0<<ESIZE)+
									(1<<SUM) + (0<<DUM) + (0<<TCINT) + (ch<<TCC)+
									(1<<LINK) + (0<<FS));
	
	*(unsigned volatile int *)(SPI_TRANS_PARAMS_RELOAD + SRC)= src;
	*(unsigned volatile int *)(SPI_TRANS_PARAMS_RELOAD + CNT)= size;
	*(unsigned volatile int *)(SPI_TRANS_PARAMS_RELOAD + DST)= dst;
	*(unsigned volatile int *)(SPI_TRANS_PARAMS_RELOAD + IDX)= 0x00000000;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
偷拍日韩校园综合在线| 亚洲国产精品人人做人人爽| 欧美性受xxxx黑人xyx性爽| 成人黄色免费短视频| 亚洲成人综合网站| 制服丝袜日韩国产| 国产欧美一区视频| 久久九九久久九九| 亚洲欧洲日本在线| 婷婷成人综合网| 青青草国产成人av片免费| 国产精品系列在线播放| 成人国产精品免费网站| 欧美视频中文字幕| 欧美日韩一区二区三区四区五区| 91麻豆精品国产| 欧美国产精品中文字幕| 亚洲午夜成aⅴ人片| 日韩精品亚洲一区| 午夜精品久久久久影视| 国产精品一级在线| 欧美日韩五月天| 欧美成人性福生活免费看| 亚洲欧洲美洲综合色网| 久久精品国产99国产精品| 成人黄色国产精品网站大全在线免费观看 | 色综合久久中文字幕综合网 | 日韩欧美成人激情| 最新热久久免费视频| 麻豆精品一区二区综合av| 91精品国产色综合久久久蜜香臀| 日韩美女视频在线| 亚洲综合图片区| 激情成人午夜视频| 欧美亚洲国产怡红院影院| 国产午夜亚洲精品羞羞网站| 日韩av电影免费观看高清完整版 | 欧美美女一区二区在线观看| 337p日本欧洲亚洲大胆精品| 亚洲v中文字幕| 91网站在线播放| 欧美在线不卡一区| 国产精品家庭影院| 国产成人精品免费视频网站| 久草这里只有精品视频| 精品视频资源站| 国产精品福利影院| 亚洲激情五月婷婷| 高清av一区二区| 久久久国产精华| 亚洲国产欧美在线| 色拍拍在线精品视频8848| 久久久国产一区二区三区四区小说| 国产精品美女久久久久久久久| 久久国产精品露脸对白| 欧美一区三区四区| 亚洲婷婷综合色高清在线| 91免费看`日韩一区二区| 国产精品嫩草影院av蜜臀| 懂色av中文字幕一区二区三区| 国产欧美视频一区二区| 青青草一区二区三区| 国产精品国产精品国产专区不片| 国产精品乡下勾搭老头1| 国产精品亲子伦对白| 欧美三级乱人伦电影| 日本免费新一区视频| 日韩亚洲欧美中文三级| 美女网站在线免费欧美精品| 欧美精品日韩一区| 亚洲色图在线看| 欧美日韩免费不卡视频一区二区三区| 亚洲午夜久久久久| 欧美色图免费看| 午夜av区久久| 日韩精品最新网址| 午夜成人免费电影| 国产精品成人免费精品自在线观看| 成人白浆超碰人人人人| 亚洲精品国产高清久久伦理二区 | 91精品国产欧美日韩| 亚洲第一av色| 欧美日韩国产综合一区二区 | 国产午夜精品一区二区| 在线观看免费亚洲| 日韩av一级片| 欧美经典一区二区三区| 久久国产尿小便嘘嘘尿| 久久久精品tv| 欧美日韩久久久一区| 日韩福利电影在线观看| 在线观看一区二区视频| 国内精品在线播放| 日韩一区日韩二区| 精品国产91乱码一区二区三区| 成人aa视频在线观看| 婷婷久久综合九色综合伊人色| 91麻豆免费观看| gogogo免费视频观看亚洲一| 日本欧美一区二区| 中文字幕二三区不卡| 日本韩国一区二区三区| 不卡免费追剧大全电视剧网站| 亚洲小说欧美激情另类| 日韩一级片网址| 色婷婷综合中文久久一本| 国产真实乱偷精品视频免| 亚洲综合在线观看视频| 久久久一区二区三区| 欧美体内she精高潮| 蜜臀av一区二区在线观看| 成人综合在线观看| 五月天精品一区二区三区| 国产女主播视频一区二区| 欧美中文字幕一区二区三区亚洲| 亚洲婷婷在线视频| 欧美人与性动xxxx| 蜜桃一区二区三区在线| 91精品国产免费| 在线精品视频一区二区三四| 日韩va亚洲va欧美va久久| 中文字幕亚洲成人| 日韩欧美一区二区在线视频| 亚洲一区二区三区中文字幕在线 | 国产在线播放一区二区三区 | 精品在线免费观看| 亚洲欧美日韩国产综合| 国产一区二区三区av电影| 五月激情综合色| 亚洲综合在线第一页| 亚洲同性同志一二三专区| 精品国产一区二区三区久久影院 | 国产精品一二三区| 韩国精品一区二区| 中文一区在线播放| 久久亚洲二区三区| 91视频在线看| 麻豆精品一二三| 6080亚洲精品一区二区| 欧美日韩不卡一区二区| 91极品美女在线| 日韩国产精品久久久久久亚洲| 亚洲第一福利视频在线| 亚洲网友自拍偷拍| 亚洲午夜电影网| 免费三级欧美电影| 亚洲1区2区3区视频| 午夜伊人狠狠久久| 成人在线一区二区三区| 成人国产在线观看| www.66久久| 色综合色狠狠综合色| 91片在线免费观看| 天堂va蜜桃一区二区三区漫画版| 一区二区欧美在线观看| 亚洲视频中文字幕| 亚洲成精国产精品女| 亚洲国产精品尤物yw在线观看| 2021中文字幕一区亚洲| 国产亚洲成年网址在线观看| 欧美专区亚洲专区| 精品国产免费视频| 日韩欧美精品三级| 国产蜜臀97一区二区三区| 欧美国产精品v| 亚洲激情在线激情| 美女在线观看视频一区二区| 极品少妇一区二区| 国产曰批免费观看久久久| 亚洲美女一区二区三区| 一区二区三区中文字幕电影| 亚洲123区在线观看| 九色综合狠狠综合久久| 国产精品综合视频| 国产精品中文欧美| 国产自产v一区二区三区c| heyzo一本久久综合| 欧美一级片在线| 久久久亚洲精品石原莉奈| 亚洲欧美日韩久久| 日本va欧美va精品| 国产乱一区二区| 91久久精品一区二区三区| 日韩一级在线观看| 夜夜揉揉日日人人青青一国产精品| 日本特黄久久久高潮| 成人高清伦理免费影院在线观看| 精品久久久久久最新网址| 亚洲欧美自拍偷拍| 久久99精品一区二区三区三区| 91亚洲精品久久久蜜桃| 欧美日韩精品欧美日韩精品| 日韩亚洲欧美综合| 91女厕偷拍女厕偷拍高清| 波多野结衣91| 日本道色综合久久| 99精品欧美一区二区三区综合在线| 婷婷开心久久网| 午夜欧美在线一二页| 亚洲男人的天堂av|