管理员
最后登录1970-1-1
在线时间 小时
注册时间2013-3-25
|
发表于 2013-5-23 16:54:36
|
显示全部楼层
kendylanyu 发表于 2013-5-23 12:46
void I2C_EE_BufferWrite(u8* pBuffer, u8 WriteAddr, u16 NumByteToWrite)
{
那这个就更简单了
void I2C_EE_BufferWrite(uint8_t* pBuffer, uint8_t WriteAddr, uint16_t NumByteToWrite)
{
uint16_t i;
uint8_t addr;
addr = WriteAddr;
for( i=0; i<NumByteToWrite; i++ )
{
if( (i==0) || ((addr % I2C_PageSize)==0) )
{
//I2C_Stop(); /* 在每写完一个page后,都要发送一个stop信号 */
while(!I2C_Start());
I2C_SendByte(ADDR_24C02);
while(!I2C_WaitAck());
I2C_SendByte(addr);
while(!I2C_WaitAck());
}
I2C_SendByte(*pBuffer);
while(!I2C_WaitAck());
//Delay_us(1000);
addr++;
pBuffer++;
}
I2C_Stop();
} |
|