Professional Documents
Culture Documents
I2C
I2C
I2C c th truyn d liu theo m hnh 1 Master nhiu Slave, di y l 1 v d s dng Atmega 8 giao tip vi Real Time Clock v Serial EEProm
-DS1307 Real Time Clock c a ch c 0xD0, a ch ghi 0xD1 qu trnh c ghi din ra theo lc sau :
Void Write_DS1307(char* buff , byte len) // buff l b m truyn, len l s byte cn ghi { char i ; I2C_Write(0xD0); for(i=0;i<len;i++) I2C_Write( buff[i] ) ; }
Void Read_DS1307(char* buff , byte len) // buff l b m nhn, len l s byte cn c { char i ; I2C_Write(0xD1); for(i=0;i<len;i++) buff[i] = I2C_Read(); }
-AT24C04 - 4Kbits Serial EEProms C a ch c 0xA0, a ch ghi 0xA1 , qu trnh c ghi din ra nh sau : Ghi vo EEProms :
Void Write_24C04(usigned int address, char* buff , byte len) //address l a ch cn ghi, buff l b m truyn, len l s byte cn ghi { char i ; I2C_Write(0xD0); I2C_Write(address >> 8) ; // 8bit address high I2C_Write(address & 0xff ) ; // 8bit address low for(i=0;i<len;i++) I2C_Write( buff[i] ) ; }
c ra t EEProms:
Char Read_24C04(usigned int address) //address l a ch cn c { char i ; I2C_Write(0xD0); // Write address first I2C_Write(address >> 8) ; // 8bit address high I2C_Write(address & 0xff ) ; // 8bit address low I2C_Write(0xD1); // Read out data Return ( I2C_Read() ); }