新聞中心

        HOLTEK 主I2C的源程序代碼

        作者: 時(shí)間:2011-05-17 來(lái)源:網(wǎng)絡(luò) 收藏

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

        本文引用地址:http://www.104case.com/article/150740.htm

        /***********************************************
        讀當(dāng)前1字節(jié)數(shù)據(jù)函數(shù)
        ***********************************************/
        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);
        }

        /***********************************************
        寫(xiě)當(dāng)前1字節(jié)數(shù)據(jù)函數(shù)
        ***********************************************/
        void cwrite(uchar addr,uchar dat)
        {
        i2c_start();
        i2c_writ2(CHIP_ADDR); // Write
        i2c_writ2(addr);
        i2c_writ2(dat);
        i2c_stop();
        delay(30);
        }

        /***********************************************
        讀數(shù)據(jù)
        ***********************************************/
        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--) // 個(gè)數(shù)
        {
        *buf++ = i2c_rea2(1); // 讀
        }
        i2c_stop();
        delay(10);
        }

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

        /***********************************************
        讀1字節(jié)函數(shù)
        ***********************************************/
        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;
        }

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


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: 代碼 源程序 I2C HOLTEK

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 信丰县| 乐亭县| 偃师市| 宿松县| 五大连池市| 桐庐县| 修文县| 克拉玛依市| 桦川县| 浠水县| 沙坪坝区| 育儿| 仁化县| 衡山县| 万源市| 平顺县| 丹东市| 临西县| 苗栗县| 且末县| 浪卡子县| 宝兴县| 永胜县| 固始县| 乾安县| 舟曲县| 宜城市| 迁西县| 罗田县| 宁夏| 浦东新区| 札达县| 永定县| 三都| 镇江市| 凤翔县| 闻喜县| 东至县| 孟津县| 衡东县| 安化县|