|
|||||||||||
| 技術(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ù) |
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 于 2006/5/12 7:18:00 發(fā)布:
suba_type 是要寫進(jìn)去的地址是8位或16位 如果只小于256字節(jié),8位就夠了,如果大些,就要16位地址。 你要去讀讀i2c EEPROM的手冊啊。 |
|
| 3樓: | >>參與討論 |
| 作者: xgh1217 于 2006/5/12 8:43:00 發(fā)布:
謝謝。。。。。。! 也就是說suba 來決定suba_type呢,當(dāng)suba >256就應(yīng)該用16位地址呢 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |