資源簡(jiǎn)介
模擬IIC讀寫at24c512,用at24c02程序改寫,其中包括奇數(shù)位讀寫亂碼、讀寫0xff問(wèn)題的解決辦法。歡迎登門。

代碼片段和文件信息
#include?“r_cg_iic.h“
#include?“r_cg_serial.h“
#include?“r_cg_eeprom.h“
void?AT24CXX_Init(void)
{
??? scl=1;
??? sda=1;
PM6.0?=?0;
//PU1.7?=?0;
}
u8?AT24CXX_Check(void)
{
u8?temp;
temp=AT24CXX_ReadOneByte(65535); ???
if(temp==0x55)return?0; ???
else
{
AT24CXX_WriteOneByte(655350X55);
???? temp=AT24CXX_ReadOneByte(65535); ??
if(temp==0X36)return?0;
}
return?1; ??
}
u8??AT24CXX_ReadOneByte(u16?ReadAddr)
{
??//unsigned?char?
?? ?u8?temp=0;
??? ?IIC_start();
???
?? ?if(EE_TYPE>AT24C16)
??? ?{
IIC_wbyte(0XA0); ??
IIC_checkack();
IIC_wbyte(ReadAddr>>8); ????
??? ?}
???
?? ?else?
???
??? ?{
IIC_wbyte(0XA0+((ReadAddr/256)<<1));?
?? ?}?
?? ? IIC_checkack();
?? ??? IIC_wbyte(ReadAddr%256);
?? IIC_checkack();
??? ? IIC_start();
?? ????????IIC_wbyte(0XA1);
??? ? IIC_checkack();
?? ??? temp=IIC_rbyte(0);
?? ?? IIC_stop();
?? ? return?temp;?
//IIC_delay(10);
}
void?AT24CXX_WriteOneByte(u16?WriteAddru8?DataToWrite)
{
u8?kk=0;
??? ?IIC_start();
???if(EE_TYPE>AT24C16)
???{
???? ?IIC_wbyte(0XA0);
???? ?IIC_checkack();
????? ?IIC_wbyte(WriteAddr>>8);
???}
???else
???{
????? ?IIC_wbyte(0XA0+((WriteAddr/256)<<1));
???}
??? ?IIC_checkack();
??? ?IIC_wbyte(WriteAddr%256);
??? ?IIC_checkack();
??? ?IIC_wbyte(DataToWrite);
?kk=IIC_wbyte(DataToWrite);
?? ?IIC_checkack();
??? ?IIC_stop();
??? ?IIC_delay(20);
}
void?AT24CXX_WriteLenByte(u16?WriteAddru32?DataToWriteu8?Len)
{??
??u8?t;
?????for(t=0;t ??? {
?? AT24CXX_WriteOneByte(WriteAddr+t(DataToWrite>>(8*t))&0xff);
??? } ????
}
u32?AT24CXX_ReadLenByte(u16?ReadAddru8?Len)
{??
u8?t;
u32?temp=0;
for(t=0;t {
temp<<=8;
temp+=AT24CXX_ReadOneByte(ReadAddr+Len-t-1);? ? ???
}
return?temp; ????
}
void?AT24CXX_Read(u16?ReadAddru8?*pBufferu16?NumToRead)
{
while(NumToRead)
{
*pBuffer++=AT24CXX_ReadOneByte(ReadAddr++);
NumToRead--;
}
}?
void?AT24CXX_Write(u16?WriteAddru8?*pBufferu16?NumToWrite)
{
while(NumToWrite--)
{
AT24CXX_WriteOneByte(WriteAddr*pBuffer);
WriteAddr++;
pBuffer++;
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????383??2017-12-26?09:51??模擬IIC讀寫at24c512總結(jié)\note.txt
?????文件???????2201??2017-12-26?09:51??模擬IIC讀寫at24c512總結(jié)\r_cg_eeprom.c
?????文件????????735??2017-12-26?09:51??模擬IIC讀寫at24c512總結(jié)\r_cg_eeprom.h
?????文件???????1932??2017-12-26?09:51??模擬IIC讀寫at24c512總結(jié)\r_cg_iic.c
?????文件????????687??2017-12-26?09:51??模擬IIC讀寫at24c512總結(jié)\r_cg_iic.h
?????文件???????4704??2017-12-26?09:51??模擬IIC讀寫at24c512總結(jié)\r_main.c
?????目錄??????????0??2017-12-26?09:53??模擬IIC讀寫at24c512總結(jié)
-----------?---------??----------?-----??----
????????????????10642????????????????????7
評(píng)論
共有 條評(píng)論