久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > HOLTEK 主I2C的源程序代碼

HOLTEK 主I2C的源程序代碼

作者: 時間:2011-05-17 來源:網絡 收藏

SDA=1;
SCL=1;delay_5us();
SCL=0;delay_5us();
}

本文引用地址:http://cqxgywz.com/article/150740.htm

/***********************************************
讀當前1字節數據函數
***********************************************/
unsigned char cread(uchar addr)
{
unsigned char i;
i2c_start();
i2c_writ2(CHIP_ADDR); // Write
i2c_writ2(addr);
i2c_start(); // Start
i2c_writ2(CHIP_ADDR+1); // Read
i = i2c_rea2(0);
i2c_stop();
delay(10);
return(i);
}

/***********************************************
寫當前1字節數據函數
***********************************************/
void cwrite(uchar addr,uchar dat)
{
i2c_start();
i2c_writ2(CHIP_ADDR); // Write
i2c_writ2(addr);
i2c_writ2(dat);
i2c_stop();
delay(30);
}

/***********************************************
讀數據
***********************************************/
void read(uchar addr, uchar num, uchar * buf)
{
i2c_start();
i2c_writ2(CHIP_ADDR); // Write
i2c_writ2(addr);
i2c_start(); // Start
i2c_writ2(CHIP_ADDR+1); // Read
for( ; num>0 ; num--) // 個數
{
*buf++ = i2c_rea2(1); // 讀
}
i2c_stop();
delay(10);
}

/***********************************************
寫數據
***********************************************/
void write(uchar addr, uchar num,uchar * buf)
{
i2c_start();
i2c_writ2(CHIP_ADDR); // Write
i2c_writ2(addr);
for( ; num>0 ; num--) // 個數
{
i2c_writ2(*buf++); // 寫
}
i2c_stop();
delay(30);
}

/***********************************************
讀1字節函數
***********************************************/
uchar i2c_rea2(bit ack)
{
uchar i,j;
j=0x00;
SDA=1;
for(i=0;i8;i++)
{
SCL=1;
j=j1;
if(SDA) j|=0x01;
SCL=0;delay_5us();
}
if(ack) SDA=0;
SCL=1;delay_5us();
SCL=0;delay_5us();
return j;
}

/***********************************************
延時程序
***********************************************/
void delay_5us()
{
uchar i;
//for(i=0;i2;i++){}
for(i=0;i4;i++)
{
}
}


上一頁 1 2 下一頁

關鍵詞: 代碼 源程序 I2C HOLTEK

評論


相關推薦

技術專區

關閉