手机版

模拟I2C控制24C02(4)

发布时间:2021-06-06   来源:未知    
字号:

使用STM32红牛开发的GPIO模拟I2C控制八个AT24C02的读写

for(i=0;i<NumByteToRead;i++) {

*pBuffer = I2C_ReceiveData();

++pBuffer;

Ack();

}

NAck();

I2C_GenerateSTOP();

}

void I2C_EE_BufferRead(u8* pBuffer, u16 ReadAddr, u16 NumByteToRead)

{

u16 NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0;

Addr = ReadAddr % I2C_PageSize;

count = I2C_PageSize - Addr;

NumOfPage = NumByteToRead / I2C_PageSize;

NumOfSingle = NumByteToRead % I2C_PageSize;

/* If WriteAddr is I2C_PageSize aligned */

if(Addr == 0)

{

/* If NumByteToWrite < I2C_PageSize */

if(NumOfPage == 0)

{ I2C_EE_PageRead(pBuffer, ReadAddr, NumOfSingle);

}

/* If NumByteToWrite > I2C_PageSize */

else

{

while(NumOfPage--)

{

I2C_EE_PageRead(pBuffer, ReadAddr, I2C_PageSize);

ReadAddr += I2C_PageSize;

pBuffer += I2C_PageSize;

}

if(NumOfSingle!=0)

{

I2C_EE_PageRead(pBuffer, ReadAddr, NumOfSingle);

}

}

}

/* If WriteAddr is not I2C_PageSize aligned */

模拟I2C控制24C02(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)