一、写多字节
void I2C_WriteMultibyte(uint8_t Addr,uint8_t *pBuffer,uint8_t num);
void I2C_WriteMultibyte(uint8_t Addr,uint8_t *pBuffer,uint8_t num) //写入多个字节
{
u8 i,temp;
temp=num/8; //判断循环次数
for(i=0;i<=temp;i++)
{
I2C_WriteByte(Addr,pBuffer,8); //写入一个字节
EE_Await(); //等待eeprom内部时序完成
pBuffer+=8;
Addr+=8;
}
}
二、存储小数
1、定义变量
/*存储小数的数组,各8个*/
long double double_buffer[8] = {0}; //发送数组
long double double_buff[8] = {0}; //接收数组
2、读写函数
for(i=0;i<8;i++)
{
double_buffer[i]=i+0.1; //数据填充
}
I2C_WriteMultibyte(8,(void*)double_buffer,sizeof(double_buffer)); //写入函数
EE_Await();
I2C_ReadByte(8,(void*)double_buff, sizeof(double_buff)); //读取函数
for(i=0;i<8;i++)
{
printf("%LF\n",double_buff[i]); //串口循环打印
}