音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

lpc2104 i2c

作者:xgh1217 欄目:ARM技術(shù)
LPC2104 i2c
sla 是E2的器件地址,suba是指寫在E2里的地址,想請問一下suba_type子地址結(jié)構(gòu)是什么意思?什么是時候應(yīng)該用單字節(jié)?什么時候應(yīng)該用雙字節(jié)?什么時候用3-8+x結(jié)構(gòu)?望大俠們指點(diǎn),謝謝。。。。。。。

/*
*********************************************************************************************************
** 函數(shù)名稱 :I2C_WriteNByte()
** 函數(shù)功能 :向有子地址器件寫入N字節(jié)數(shù)據(jù)
** 入口參數(shù) :    sla            器件從地址
**                suba_type    子地址結(jié)構(gòu)    1-單字節(jié)地址    3-8+X結(jié)構(gòu)    2-雙字節(jié)地址
**                  suba        器件內(nèi)部物理地址
**                  *s            將要寫入的數(shù)據(jù)的指針
**                  num            將要寫入的數(shù)據(jù)的個數(shù)
** 出口參數(shù) :    TRUE        操作成功
**                  FALSE        操作失敗
*********************************************************************************************************
*/
uint8 I2C_WriteNByte(uint8 sla, uint8 suba_type, uint32 suba, uint8 *s, uint32 num)
{
    if (num > 0)/* 如果讀取的個數(shù)為0,則返回錯誤 */
    {    /* 設(shè)置參數(shù) */    
        if (suba_type == 1)
        {    /* 子地址為單字節(jié) */
            I2C_sla         = sla;                                /* 讀器件的從地址         */
            I2C_suba        = suba;                                /* 器件子地址             */
            I2C_suba_num    = 1;                                /* 器件子地址為1字節(jié)     */
        }
        if (suba_type == 2)
        {    /* 子地址為2字節(jié) */
            I2C_sla         = sla;                                /* 讀器件的從地址         */
            I2C_suba            = suba;                                /* 器件子地址             */
            I2C_suba_num    = 2;                                /* 器件子地址為2字節(jié)     */
        }
        if (suba_type == 3)
        {    /* 子地址結(jié)構(gòu)為8+X */
            I2C_sla            = sla + ((suba >> 7 )& 0x0e);        /* 讀器件的從地址        */
            I2C_suba        = suba & 0x0ff;                        /* 器件子地址            */
            I2C_suba_num    = 1;                                /* 器件子地址為8+X         */
        }

        I2C_buf     = s;                                        /* 數(shù)據(jù)                 */
        I2C_num     = num;                                        /* 數(shù)據(jù)個數(shù)             */
        I2C_suba_en = 2;                                        /* 有子地址,寫操作     */
        I2C_end     = 0;
        
        /* 清除STA,SI,AA標(biāo)志位 */
        I2CONCLR =     (1 << 2)|    /* AA     */
                    (1 << 3)|    /* SI     */
2樓: >>參與討論
lpc2000
suba_type 是要寫進(jìn)去的地址是8位或16位
如果只小于256字節(jié),8位就夠了,如果大些,就要16位地址。
你要去讀讀i2c EEPROM的手冊啊。



3樓: >>參與討論
xgh1217
謝謝。。。。。。!
也就是說suba 來決定suba_type呢,當(dāng)suba >256就應(yīng)該用16位地址呢

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
LPCARM上的軟件串口,有人實現(xiàn)了嗎?
LPCARM 串口能否用查詢發(fā)送,中斷接收。
“c:\\keil\\arm\\“在哪里可以找到啊?
SST39VF160和SST39VF1601區(qū)別?
隨便聊聊,你的ARM做什么用??
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號