I2C_EEPROM 写入多字节 小数

一、写多字节

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]);				//串口循环打印
	}





你可能感兴趣的:(stm32,学习笔记)