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

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

?? main.c.bak

?? 測試TI DSP的C6000系列中的I2C能否正常工作
?? BAK
字號:
/*****************************************************************************
 *
 * Filename: main.c 
 *
 * Description:
 *      
 *
 * Version:
 *      
 *
 * Date: 
 *      
 *
 * Author:
 *      
 *
 *****************************************************************************/ 
/*****************************************************************************
 *
 * History:
 *     
 *
 *****************************************************************************/ 
#include <csl.h>
#include <csl_emifa.h>
#include <csl_i2c.h>
#include <csl_gpio.h>
#include <csl_cache.h>
#include <csl_mcbsp.h>
#include <stdio.h>
#include <math.h>
#include "evmdm642_mcbsp.h"



/* I2C handle */
I2C_Handle EVMDM642_I2C_hI2C;

/* GPIO handle */
GPIO_Handle EVMDM642_GPIO_hGPIO;

static GPIO_Config HS_Gpio_W = {
	0x00000011, /* gpgc */
	0x0000ff00, /* gpen */
	0x0000ff00, /* gdir */
	0x00000050, /* gpval */
	0x00000000, /* gphm */
	0x00000000, /* gplm */
	0x00000030  /* gppol */
};

static GPIO_Config HS_Gpio_R = {
	0x00000011, /* gpgc */
	0x0000ff00, /* gpen */
	0x00000000, /* gdir */
	0x00000050, /* gpval */
	0x00000000, /* gphm */
	0x00000000, /* gplm */
	0x00000030  /* gppol */
};



void DM642_wait(Uint32 delay)
{
    volatile Uint32 i, n;
    
    n = 0;
    for (i = 0; i < delay; i++)
    {
        n = n + 1;
    }
}

void mcbsp0_write(int out_data)   //串口0寫
{
   McBSP1_DXR = out_data;
}

int mcbsp0_read()                 //串口0讀
{
   int temp;
   temp = McBSP0_DRR;
   return temp;
}

/* Initialize the board APIs */
void DM642_VIDEO_EVM_init()
{
    volatile Uint32 test;
    
    EMIFA_Config emifaCfg0 = {
        EMIFA_FMKS(GBLCTL, EK2RATE, HALFCLK)    |
        EMIFA_FMKS(GBLCTL, EK2HZ, CLK)          |
        EMIFA_FMKS(GBLCTL, EK2EN, ENABLE)       |
        EMIFA_FMKS(GBLCTL, BRMODE, MRSTATUS)    |
        EMIFA_FMKS(GBLCTL, NOHOLD, DISABLE)     |
        EMIFA_FMKS(GBLCTL, EK1HZ, HIGHZ)        |
        EMIFA_FMKS(GBLCTL, EK1EN, ENABLE)       |
        EMIFA_FMKS(GBLCTL, CLK4EN, ENABLE)      |
        EMIFA_FMKS(GBLCTL, CLK6EN, ENABLE),
        
        EMIFA_FMKS(CECTL, WRSETUP, DEFAULT)    |
        EMIFA_FMKS(CECTL, WRSTRB, DEFAULT)     |
        EMIFA_FMKS(CECTL, WRHLD, DEFAULT)      |
        EMIFA_FMKS(CECTL, RDSETUP, DEFAULT)    |
        EMIFA_FMKS(CECTL, TA, DEFAULT)         |
        EMIFA_FMKS(CECTL, RDSTRB, DEFAULT)     |
        EMIFA_FMKS(CECTL, MTYPE, SDRAM64)      |
        EMIFA_FMKS(CECTL, RDHLD, DEFAULT),
        
        EMIFA_FMKS(CECTL, WRSETUP, OF(7))      |
        EMIFA_FMKS(CECTL, WRSTRB, OF(14))      |
        EMIFA_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFA_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, TA, OF(2))           |
        EMIFA_FMKS(CECTL, RDSTRB, OF(14))      |
        EMIFA_FMKS(CECTL, MTYPE, ASYNC16)       |
        EMIFA_FMKS(CECTL, RDHLD, OF(1)),
        
        EMIFA_FMKS(CECTL, WRSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFA_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, TA, OF(2))           |
        EMIFA_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, MTYPE, ASYNC8)      |
        EMIFA_FMKS(CECTL, RDHLD, OF(2)),

        EMIFA_FMKS(CECTL, WRSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFA_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, TA, OF(2))           |
        EMIFA_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, MTYPE, SYNC32)       |
        EMIFA_FMKS(CECTL, RDHLD, OF(2)),
        
        EMIFA_FMKS(SDCTL, SDBSZ, 4BANKS)       |
        EMIFA_FMKS(SDCTL, SDRSZ, 12ROW)        |
        EMIFA_FMKS(SDCTL, SDCSZ, 8COL)         |
        EMIFA_FMKS(SDCTL, RFEN, ENABLE)        |
        EMIFA_FMKS(SDCTL, INIT, YES)           |
        EMIFA_FMKS(SDCTL, TRCD, OF(1))         |
        EMIFA_FMKS(SDCTL, TRP, OF(1))          |
        EMIFA_FMKS(SDCTL, TRC, OF(5))          |
        EMIFA_FMKS(SDCTL, SLFRFR, DISABLE),
        
        EMIFA_FMKS(SDTIM, XRFR, OF(0))         |
        EMIFA_FMKS(SDTIM, PERIOD, OF(2075)),
        
        EMIFA_FMKS(SDEXT, WR2RD, OF(1))        |
        EMIFA_FMKS(SDEXT, WR2DEAC, OF(3))      |
        EMIFA_FMKS(SDEXT, WR2WR, OF(1))        |
        EMIFA_FMKS(SDEXT, R2WDQM, OF(3))       |
        EMIFA_FMKS(SDEXT, RD2WR, OF(2))        |
        EMIFA_FMKS(SDEXT, RD2DEAC, OF(3))      |
        EMIFA_FMKS(SDEXT, RD2RD, OF(1))        |
        EMIFA_FMKS(SDEXT, THZP, OF(2))         |
        EMIFA_FMKS(SDEXT, TWR, OF(2))          |
        EMIFA_FMKS(SDEXT, TRRD, OF(0))         |
        EMIFA_FMKS(SDEXT, TRAS, OF(6))         |
        EMIFA_FMKS(SDEXT, TCL, OF(1)),           
        
        EMIFA_CESEC_DEFAULT,

        EMIFA_CESEC_DEFAULT,

        EMIFA_CESEC_DEFAULT,

        EMIFA_FMKS(CESEC, SNCCLK, ECLKOUT2)    |
        EMIFA_FMKS(CESEC, RENEN, READ)         |
        EMIFA_FMKS(CESEC, CEEXT, ACTIVE)       |
        EMIFA_FMKS(CESEC, SYNCWL, 0CYCLE)      |
        EMIFA_FMKS(CESEC, SYNCRL, 3CYCLE)
    };

    I2C_Config i2cCfg = {
        0x0000007f, /* I2COAR -    Not used if master */
        0x00000000, /* I2CIER -    Disable interrupts, use polling */
        0x0000001b, /* I2CCLKL -   Low period for 100KHz operation */
        0x0000001b, /* I2CCLKH -   High period for 100KHz operation */
        0x00000002, /* I2CCNT -    Data words per transmission */
        0x0000001a, /* I2CSAR -    Slave address */
        0x00004680, /* I2CMDR -    Mode */
        0x00000019  /* I2CPSC -    Prescale 300MHz to 12MHz */
    };
        
    /* Initialize CSL */
    CSL_init();
    
    /* Unlock PERCFG through PCFGLOCK */
	*((unsigned int *)0x01b3f018) = 0x10c0010c;
    
    /* Enable VP0-VP2, I2C and McASP0 in PERCFG */
	*((unsigned int *)0x01b3f000) = 0x79;
    
    /* Read back PERCFG */
	test = *((unsigned int *)0x01b3f000);


    
    /* Wait at least 128 CPU cycles */
    DM642_wait(128);

    /* Initialize EMIFA */
    EMIFA_config(&emifaCfg0);

    /* Open I2C handle */
    EVMDM642_I2C_hI2C = I2C_open(I2C_PORT0, I2C_OPEN_RESET);

    /* Configure I2C controller */
    I2C_config(EVMDM642_I2C_hI2C, &i2cCfg);

    /* Take I2C out of reset */        
    I2C_outOfReset(EVMDM642_I2C_hI2C);
    
    /* Open the GPIO handle */
    EVMDM642_GPIO_hGPIO = GPIO_open(GPIO_DEV0, GPIO_OPEN_RESET);

    /* Enable caching of SDRAM */
    CACHE_enableCaching(CACHE_EMIFA_CE00);
    CACHE_enableCaching(CACHE_EMIFA_CE01);
    
}

void mcbsp0_init()  //配置McBSP0為SPI從設備
{
   		//復位串口的收發,禁用時間停止模式
        McBSP0_SPCR = 0x00000000;
        //Sleep(1000);
        //配置SPCR PCR RCR XCR SRGR寄存器       
        McBSP0_RCR  = 0x00040040;  //16bit
        McBSP0_XCR  = 0x00040040;  //16bit   
        //McBSP0_SRGR = 0x20000001;                 
        McBSP0_PCR  = 0x0000000C; 
        //啟動采樣率發生器
        McBSP0_SPCR = 0x00400000;       
        //Sleep(1000);
        //使能串口的收發,選擇時間停止模式
        McBSP0_SPCR = 0x00C10001;  
        //Sleep(1000);

}               

void mcbsp1_init()  //配置McBSP0為SPI主設備
{
   		//復位串口的收發,禁用時間停止模式
        McBSP1_SPCR = 0x00000000;
        //Sleep(1000);
        //配置SPCR PCR RCR XCR SRGR寄存器       
        McBSP1_RCR  = 0x00010040;  
        McBSP1_XCR  = 0x00010040;     
        McBSP1_SRGR = 0x200F010F;                 
        McBSP1_PCR  = 0x00000A7F; 
        //啟動采樣率發生器
        McBSP1_SPCR = 0x00400000;       
        //Sleep(1000);
        //使能串口的收發,選擇時間停止模式
        McBSP1_SPCR = 0x00C11801;  
        //Sleep(1000);

}               

void main()
{
	MCBSP_Handle myhMcbsp0;
	MCBSP_Handle myhMcbsp1;  
	int tmp8,tmp9,tmp10,tmp11,tmp12,tmp13,tmp14,tmp15, tmp,value,i = 0;
	Int16 dataA, dataB;
	Int16 outA, outB;
	DM642_VIDEO_EVM_init();
	
	myhMcbsp0 = MCBSP_open(MCBSP_DEV0, MCBSP_OPEN_RESET);//mcbsp1 
	//mcbsp0_init();
	MCBSP_config(myhMcbsp0,&Mcbsp0);
	MCBSP_enableSrgr(myhMcbsp0);//Enable the McBSP
    MCBSP_enableFsync(myhMcbsp0);
	MCBSP_enableRcv(myhMcbsp0); 
	
	myhMcbsp1 = MCBSP_open(MCBSP_DEV1, MCBSP_OPEN_RESET);//mcbsp1 
	//mcbsp1_init();   
	MCBSP_config(myhMcbsp1,&Mcbsp1);
	MCBSP_enableSrgr(myhMcbsp1);//Enable the McBSP
    MCBSP_enableFsync(myhMcbsp1);
	MCBSP_enableXmt(myhMcbsp1);
	
	
	while(1)
	{
		
		GPIO_config(EVMDM642_GPIO_hGPIO, &HS_Gpio_W);
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN8, i);
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN9, i);
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN10, i);
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN11, i);
		
		i = 1 - i;
		
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN12, i);
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN13, i);
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN14, i);
		GPIO_pinWrite(EVMDM642_GPIO_hGPIO, GPIO_PIN15, i);
		
		GPIO_config(EVMDM642_GPIO_hGPIO, &HS_Gpio_R);
		
		tmp8 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN8);
		//printf("GPIO_PIN08 value:%d\n",tmp8);
		
		tmp9 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN9);
		//printf("GPIO_PIN09 value:%d\n",tmp9);
		
		tmp10 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN10);
		//printf("GPIO_PIN10 value:%d\n",tmp10);
		
		tmp11 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN11);
		//printf("GPIO_PIN11 value:%d\n",tmp11);
		
		tmp12 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN12);
		//printf("GPIO_PIN12 value:%d\n",tmp12);
		
		tmp13 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN13);
		//printf("GPIO_PIN13 value:%d\n",tmp13);
		
		tmp14 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN14);
		//printf("GPIO_PIN14 value:%d\n",tmp14);
		
		tmp15 = GPIO_pinRead(EVMDM642_GPIO_hGPIO, GPIO_PIN15);
		//printf("GPIO_PIN15 value:%d\n",tmp15);
		
		printf("GPIO15-GPIO8 value:%d%d%d%d%d%d%d%d\n",tmp15,tmp14,tmp13,tmp12,tmp11,tmp10,tmp9,tmp8);
		
		dataA = 0x02aa;
		dataB = 0x0155;
		outA = 0xc000 & (dataA<<2);
		outB = 0x4000 & (dataB<<2);
		
		tmp = MCBSP_xrdy(myhMcbsp1);
		if(tmp == 0)                      
    		MCBSP_write(myhMcbsp1,outA);
    	
    	tmp = MCBSP_rrdy(myhMcbsp0); 
    	if(tmp == 0)
    	{         
    		value = MCBSP_read(myhMcbsp0);
    		printf("value:%d\n",value);
    	}
    
		
	}
}






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线视频一区二区| 一区二区三区不卡在线观看| 麻豆精品新av中文字幕| 欧美日本韩国一区| 日韩av成人高清| 欧美一级国产精品| 久久www免费人成看片高清| 2024国产精品| 国产精品1区二区.| 亚洲视频每日更新| 欧美片网站yy| 国产一区二区三区四区五区入口| 久久亚洲私人国产精品va媚药| 国产精品一区二区在线观看不卡 | 国产精品自拍一区| 久久久亚洲国产美女国产盗摄 | 国产白丝网站精品污在线入口| 国产亚洲欧美在线| 色综合天天综合给合国产| 调教+趴+乳夹+国产+精品| 精品少妇一区二区三区日产乱码 | 一区二区三区在线观看视频| 欧美日韩激情一区二区三区| 狠狠色丁香久久婷婷综合丁香| 国产精品美女一区二区| 欧美午夜在线观看| 精品一区二区免费在线观看| 18成人在线观看| 日韩一级片网站| 91日韩在线专区| 韩国女主播一区二区三区| 亚洲欧洲精品成人久久奇米网| 欧美日韩在线精品一区二区三区激情| 麻豆国产一区二区| 亚洲精品五月天| 91麻豆精品91久久久久同性| 国产凹凸在线观看一区二区| 亚洲国产成人va在线观看天堂| 精品少妇一区二区三区在线视频| 色综合视频一区二区三区高清| 麻豆成人久久精品二区三区小说| 亚洲桃色在线一区| 2020国产精品自拍| 51午夜精品国产| 91网站最新地址| 国产毛片精品视频| 日韩精品亚洲一区| 亚洲精品国产品国语在线app| 精品国产污污免费网站入口 | 国产亚洲精品7777| 欧美日韩免费高清一区色橹橹| 国产精品99久久不卡二区| 午夜久久福利影院| 中文字幕一区二区三区在线观看| 日韩欧美一级二级三级久久久| 一本到不卡免费一区二区| 国产黄色精品视频| 久久成人免费网站| 婷婷丁香久久五月婷婷| 亚洲精品视频在线| 国产精品麻豆一区二区| 久久这里只有精品首页| 91精品国产综合久久小美女| 欧洲精品在线观看| 色偷偷88欧美精品久久久| 国产精品中文字幕欧美| 日韩成人午夜精品| 亚洲国产另类精品专区| 一个色综合网站| 亚洲丝袜制服诱惑| 中文字幕在线一区二区三区| 国产女主播在线一区二区| 国产午夜精品美女毛片视频| wwwwxxxxx欧美| 久久综合成人精品亚洲另类欧美 | 国产精品每日更新在线播放网址 | 激情综合五月天| 美女一区二区三区| 蜜桃视频第一区免费观看| 日韩激情中文字幕| 亚洲va国产va欧美va观看| 亚洲高清免费视频| 亚洲成av人综合在线观看| 午夜欧美大尺度福利影院在线看| 亚州成人在线电影| 日韩极品在线观看| 久久国产精品色| 国产麻豆一精品一av一免费| 国产精品亚洲综合一区在线观看| 精品在线播放午夜| 国产乱淫av一区二区三区| 激情深爱一区二区| 成人免费高清视频在线观看| 成人黄色a**站在线观看| 成人动漫视频在线| 在线一区二区三区四区五区| 91福利视频网站| 777午夜精品视频在线播放| 日韩视频不卡中文| 久久九九国产精品| 亚洲精品成人少妇| 日韩精品亚洲专区| 国产精品一区不卡| 色欧美片视频在线观看| 欧美三级乱人伦电影| 日韩欧美国产三级| 国产精品久久毛片a| 一区二区三区在线免费| 日本美女视频一区二区| 国产福利一区二区三区视频| 色综合久久99| 精品国产网站在线观看| 国产精品久久毛片| 亚洲成人动漫av| 国产盗摄一区二区| 欧美日韩一区高清| 26uuu另类欧美亚洲曰本| 悠悠色在线精品| 美洲天堂一区二卡三卡四卡视频| 成人精品鲁一区一区二区| 欧美性色综合网| 国产人成一区二区三区影院| 一区二区三区欧美日| 黄色精品一二区| 欧美在线不卡视频| 久久精品免视看| 亚洲图片欧美视频| 国产精品888| 91精品国产一区二区三区| 国产精品久久久久久久第一福利| 午夜激情一区二区三区| 成人99免费视频| 精品国产乱码久久久久久蜜臀| 亚洲欧美日韩久久精品| 国产乱色国产精品免费视频| 欧美精品一级二级| 亚洲欧美在线另类| 国产伦精品一区二区三区免费| 欧美午夜电影在线播放| 国产精品视频第一区| 精品一区二区国语对白| 欧美视频日韩视频| 中文字幕中文字幕一区| 精品一区二区三区在线播放 | 精品国产污网站| 五月婷婷综合网| 色欧美片视频在线观看在线视频| 国产午夜精品久久久久久免费视 | 五月天丁香久久| jizz一区二区| 91麻豆免费视频| 国产欧美一二三区| 激情成人综合网| 欧美日韩在线三级| 一区二区三区在线播| 成人一区二区三区中文字幕| 精品国产一区二区三区久久影院| 亚洲欧美日韩久久精品| 国产伦精品一区二区三区视频青涩 | 久久精品国内一区二区三区| av成人动漫在线观看| 日本一区二区免费在线观看视频 | 精品电影一区二区| 蜜臀av一区二区| 欧美三级视频在线| 一区二区三区美女| 国产伦精品一区二区三区在线观看 | 精品视频一区 二区 三区| 久久久久久久精| 精品亚洲国产成人av制服丝袜| 日本二三区不卡| 亚洲免费毛片网站| 欧美日韩日日摸| 亚洲黄色录像片| 欧美日韩一级片网站| 日韩精品一区在线| 日韩av电影免费观看高清完整版| 日韩一级黄色片| 天天操天天干天天综合网| 欧美精品日日鲁夜夜添| 亚洲人成在线播放网站岛国| 成人av中文字幕| 自拍av一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久精品人人爽人人爽| 国产乱码精品一区二区三区av| 日本一区二区免费在线| 成人免费毛片app| 一区二区三区视频在线看| 在线观看av一区| 蜜臀精品久久久久久蜜臀 | 欧美mv日韩mv国产网站app| 久久国产乱子精品免费女| 91精品国产高清一区二区三区蜜臀| 蜜臀av性久久久久蜜臀av麻豆| 欧美色大人视频| 麻豆精品新av中文字幕| 中文字幕免费不卡| 丁香婷婷综合五月| 亚洲精品成人少妇|