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

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

?? eeprom.c

?? 2440全部驅動程序都包括在內。包括紅外
?? C
字號:
/*
 create by , to support wr/rd parameters to/from eeprom
*/
#include "def.h"
#include "2440addr.h"
#include "2440lib.h"

#define	SLV_ADDR_24C02	0xa0

void Delay(int ms);

static volatile int iic_ints;
static void __irq IicInt(void)
{
	ClearPending(BIT_IIC);
	iic_ints++;
}

static int iic_wr(U8 data, U8 cnt)
{
	int i, c;
	
	rIICCON &= ~0x10;		//Resume IIC operation to send
	
	if(cnt)
		rIICDS = data;
	
	i = 3;	//3ms
	//while(!(rIICCON&0x10)&&i--) Delay(1);
	c = iic_ints;
	while(iic_ints==c&&i--) Delay(1);
	//rIICCON &= ~0x10;
	
	if(!i)
		return -1;

	return (rIICSTAT&1)?-1:0;
}

static int iic_rd(U8 *pBuf)
{
	int i, c;
	
	rIICCON &= ~0x10;		//Resumes IIC operation to receive
	i = 3;	//3ms
	//while(!(rIICCON&0x10)&&i--) Delay(1);
	c = iic_ints;
	while(iic_ints==c&i--) Delay(1);
	
	if(i) {
		*pBuf = rIICDS;
		return 0;
	}
	
	return -1;
}

static int seek_iic_device(U8 slvAddr)
{
	int i;
	
	i = 40;	//400ms
	while(i--) {
		rIICDS   = slvAddr;
		rIICSTAT = 0xf0;	//MasTx,Start
		if(!iic_wr(0, 0))	
			break;
		Delay(10);
	}
	rIICSTAT = 0xd0;		//Stop MasTx condition
	return i<40;
}

//8 bits register address only
static int write_eeprom(U8 slvAddr, U8 addr, U8 data)
{
	int i;
	U8 ch[3];
	
	ch[1] = addr;
	ch[2] = data;
	
	rIICDS   = slvAddr;
	rIICSTAT = 0xf0;		//MasTx,Start
	for(i=0; i<3; i++)
		if(iic_wr(ch[i], i))
			break;
	rIICSTAT = 0xd0;		//Stop MasTx condition
	if(i<3)
		return -1;
	
	i = 200;	//200ms
	while(i--) {
		Delay(1);
		rIICDS     = slvAddr;
		rIICSTAT   = 0xf0;
		if(!iic_wr(0, 0))
			break;
	}
	rIICSTAT = 0xd0;
		
	return i?0:-1;
}

//8 bits register address only
static int read_eeprom(U8 slvAddr, U8 addr, U8 *pBuf)
{
	int i;
	U8 ch[2];
	
	ch[1] = addr;
	
	rIICDS   = slvAddr;
	rIICSTAT = 0xf0;		//MasTx,Start
	for(i=0; i<2; i++)
		if(iic_wr(ch[i], i))
			break;
	if(i<2) {
		rIICSTAT = 0xd0;	//Stop MasTx condition
		return -1;
	}

	rIICDS   = slvAddr;
	rIICSTAT = 0xb0;		//Master Rx,Start
	if(!iic_wr(0, 0))		//wait ack
		i = iic_rd(pBuf);	
	rIICSTAT = 0x90;		//Stop MaxRx condition
	
	return i;
}

static void init_iic_op(void)
{
	rCLKCON |= 1<<16;
	
	rGPEUP  |= 0xc000;                  //Pull-up disable
	rGPECON &= ~0xf0000000;
	rGPECON |= 0xa0000000;              //GPE15:IICSDA , GPE14:IICSCL 
	
	//Enable ACK, Prescaler IICCLK=PCLK/16, Enable interrupt, Transmit clock value Tx clock=IICCLK/16
	// If PCLK 50.7MHz, IICCLK = 3.17MHz, Tx Clock = 0.198MHz
	//rIICCON = (1<<7) | (1<<6) | (1<<5) | (0);	//IICCLK=PCLK/512=97K
	//just read one byte, don't enable ack!
	rIICCON = (0<<7) | (1<<6) | (1<<5) | (0);	//IICCLK=PCLK/512=97K
	
	rIICSTAT = 0x10;                    //IIC bus data output enable(Rx/Tx)
	rIICADD  = 0x10;                    //2410 slave address = [7:1]
	
	pISR_IIC = (unsigned)IicInt;
	EnableIrq(BIT_IIC);
}

static void end_iic_op(void)
{
	rCLKCON &= ~(1<<16);
	DisableIrq(BIT_IIC);
}

int write_24c02(U8 *pBuf)
{
	int i;
	
	U8 dat[256];
	
	for(i=0; i<256; i++)
		dat[i] = 255-i;
	
	init_iic_op();
	
	for(i=0; i<256; i++) {
		//if(seek_iic_device(SLV_ADDR_24C02))
		//	break;
		//if(write_eeprom(SLV_ADDR_24C02, i, pBuf[i]))
		if(write_eeprom(SLV_ADDR_24C02, i, dat[i]))
			break;
	}
	
	end_iic_op();
	
	Uart_Printf("Write EEPROM %s!\n", (i<256)?"Fail":"Success");
	
	return i<256;
}

int read_24c02(U8 *pBuf)
{
	int i;
	
	init_iic_op();
	
	for(i=0; i<256; i++) {
		if(read_eeprom(SLV_ADDR_24C02, i, pBuf+i))
			break;
	}
	
	end_iic_op();
	
	//Uart_Printf("Read EEPROM %s!\n", (i<256)?"Fail":"Success");

	return i<128;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线小视频| 国产精品妹子av| 亚洲已满18点击进入久久| 色婷婷综合久久久中文一区二区| 国产精品久久久久影院| 成人激情午夜影院| 国产精品色哟哟网站| 国产a精品视频| 成人欧美一区二区三区在线播放| 成人一级视频在线观看| 国产精品国产三级国产| 在线观看国产一区二区| 亚洲成人综合在线| 欧美xxxx老人做受| 成人美女视频在线看| 亚洲国产成人av网| 国产亚洲一区二区在线观看| 久久久激情视频| 国产成人午夜精品影院观看视频 | 日韩女优毛片在线| 成人免费的视频| 视频一区二区国产| 亚洲欧美在线观看| 久久久久久一级片| 在线不卡中文字幕播放| 成人精品小蝌蚪| 久久激情五月婷婷| 亚洲h精品动漫在线观看| 国产欧美日韩综合| 欧美一区二区精品在线| 色8久久精品久久久久久蜜 | 日本大胆欧美人术艺术动态| 国产精品久久久久影院| 久久久久久久久蜜桃| 在线播放亚洲一区| 在线观看成人小视频| caoporen国产精品视频| 国产在线国偷精品免费看| 青青草一区二区三区| 亚洲日本一区二区| 亚洲欧美区自拍先锋| 中文字幕不卡在线播放| 国产欧美日韩一区二区三区在线观看| 欧美va亚洲va国产综合| 日韩欧美专区在线| 91精品国产高清一区二区三区 | 欧美一区二区美女| 欧美丰满少妇xxxxx高潮对白| 欧美伊人久久久久久久久影院 | 国产日韩欧美综合在线| 久久久久成人黄色影片| 国产日韩欧美综合一区| 亚洲人成网站影音先锋播放| 一区二区三区在线视频观看58 | 国产无遮挡一区二区三区毛片日本| 欧美一区二区免费观在线| 制服丝袜一区二区三区| 日韩精品一区二区在线| 欧美精品一区二区三| wwww国产精品欧美| 夜夜精品视频一区二区| 天天色天天爱天天射综合| 麻豆国产精品视频| 国产成人综合网站| 91猫先生在线| 欧美一区二区三区精品| 久久久国产精品午夜一区ai换脸 | 欧美性猛交xxxx黑人交| 精品国产一区二区三区久久久蜜月 | 欧美久久一二区| 亚洲国产精品成人综合| 亚洲国产日产av| 国产精品综合视频| 欧美日韩亚洲综合一区二区三区 | 在线观看免费视频综合| 中文字幕免费不卡| 精品一区二区三区视频| 欧美专区日韩专区| 国产精品毛片高清在线完整版| 免费在线观看日韩欧美| 在线免费观看一区| 亚洲欧美在线观看| 成人av网站免费观看| 欧美成人乱码一区二区三区| 亚洲一区二区欧美激情| 色呦呦一区二区三区| 国产日韩欧美激情| 国产精品一二三| 久久综合国产精品| 蜜桃视频一区二区三区在线观看| 色狠狠一区二区三区香蕉| 最新日韩av在线| 成人av在线播放网址| 国产色综合一区| 成人小视频在线观看| 欧美激情资源网| 99久久国产综合精品色伊| 国产精品色哟哟| 91在线精品一区二区三区| 国产精品美女久久福利网站| 国产成人午夜高潮毛片| 国产精品久久看| 91久久国产综合久久| 天天射综合影视| 欧美va天堂va视频va在线| 国产成人在线电影| 免费国产亚洲视频| xvideos.蜜桃一区二区| 本田岬高潮一区二区三区| 亚洲欧美另类久久久精品2019| 欧美精品在线视频| 国产一区欧美一区| 亚洲电影视频在线| 久久久亚洲欧洲日产国码αv| 国产高清亚洲一区| 亚洲男人的天堂网| 久久久亚洲精品一区二区三区| av影院午夜一区| 精品一区二区久久久| 日韩一区欧美小说| 精品国产乱码久久久久久夜甘婷婷| 成人午夜在线免费| 久久国产精品99久久久久久老狼| 国产精品色一区二区三区| 欧美视频日韩视频| www.亚洲精品| 成人精品国产福利| 国产做a爰片久久毛片| 亚洲国产视频网站| 亚洲视频电影在线| 久久久久久免费毛片精品| 制服丝袜中文字幕一区| 91成人免费网站| 国产91精品免费| 国产福利精品导航| 国产精品一区二区在线播放| 国产成人综合网| 美女国产一区二区三区| 亚洲制服丝袜av| 亚洲黄一区二区三区| 亚洲三级在线免费| 亚洲女人****多毛耸耸8| 国产精品久久久久久久久快鸭 | 久久久99精品久久| www久久久久| 国产欧美精品在线观看| 国产精品伦理在线| 亚洲另类在线一区| 日韩精品高清不卡| 精一区二区三区| 国产一区二区三区久久久| 国产成人免费视频网站| 成人国产精品免费观看视频| www.视频一区| 精品视频1区2区| 精品国产电影一区二区| 亚洲国产精品精华液ab| 亚洲国产一区在线观看| 麻豆国产精品视频| 成人黄色综合网站| 欧美在线啊v一区| 精品国免费一区二区三区| 最新不卡av在线| 欧美aaaaaa午夜精品| av在线免费不卡| 日韩欧美成人午夜| 亚洲精品国产成人久久av盗摄 | 亚洲精选一二三| 激情图片小说一区| 欧美主播一区二区三区| 国产精品三级电影| 久久不见久久见中文字幕免费| 欧美精品高清视频| 国产日韩一级二级三级| 免费成人你懂的| 91成人在线观看喷潮| 国产精品热久久久久夜色精品三区| 亚洲亚洲精品在线观看| 成人精品高清在线| 国产亚洲福利社区一区| 日韩成人av影视| 欧美亚洲综合另类| 亚洲精品免费在线播放| 成人av中文字幕| 久久精品视频免费| 国产自产2019最新不卡| 精品国产乱子伦一区| 麻豆精品久久久| 久久综合九色综合欧美98| 日本美女一区二区三区| 欧美久久高跟鞋激| 奇米888四色在线精品| 日韩一区二区三区电影在线观看 | 久久久久久亚洲综合影院红桃| 久久国产精品色婷婷| 久久综合久久综合九色| 国产乱一区二区| 日本一区二区三级电影在线观看| 国产原创一区二区| ...中文天堂在线一区|