资源简介
模拟IIC读写at24c512,用at24c02程序改写,其中包括奇数位读写乱码、读写0xff问题的解决办法。欢迎登门。
代码片段和文件信息
#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++;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 383 2017-12-26 09:51 模拟IIC读写at24c512总结\note.txt
文件 2201 2017-12-26 09:51 模拟IIC读写at24c512总结\r_cg_eeprom.c
文件 735 2017-12-26 09:51 模拟IIC读写at24c512总结\r_cg_eeprom.h
文件 1932 2017-12-26 09:51 模拟IIC读写at24c512总结\r_cg_iic.c
文件 687 2017-12-26 09:51 模拟IIC读写at24c512总结\r_cg_iic.h
文件 4704 2017-12-26 09:51 模拟IIC读写at24c512总结\r_main.c
目录 0 2017-12-26 09:53 模拟IIC读写at24c512总结
----------- --------- ---------- ----- ----
10642 7
评论
共有 条评论