
AVR自带的EEPROM里面只能放整数吗?
voidEEPROM_write(uintaddress,uchardata){SREG&=~BIT(7);//关闭总中断while(EECR&(1<<EEWE));//...
void EEPROM_write(uint address, uchar data)
{
SREG &= ~BIT(7);//关闭总中断
while(EECR&(1 << EEWE));//等待EEWE为0
EEAR = address;//地址为0~255之间的数字
EEDR = data;
EECR |= BIT(EEMWE);
EECR |= BIT(EEWE);//写
SREG |= BIT(7);//打开总中断
}
uchar EEPROM_read(uint address)
{
uchar edata;
SREG &= ~BIT(7);//关闭总中断
while(EECR&(1 << EEWE));//等待EEWE为0
EEAR = address;
EECR |= BIT(EERE);//可以执行读操作
edata = EEDR;//读出数据
return edata;
SREG |= BIT(7);//打开总中断
}
写入的函数写成一个变量存在一个地址上,那一个地址是8位的,是不是只能存0~255的整数了?我想在EEPROM里面放浮点数,应该怎么办?谢谢! 展开
{
SREG &= ~BIT(7);//关闭总中断
while(EECR&(1 << EEWE));//等待EEWE为0
EEAR = address;//地址为0~255之间的数字
EEDR = data;
EECR |= BIT(EEMWE);
EECR |= BIT(EEWE);//写
SREG |= BIT(7);//打开总中断
}
uchar EEPROM_read(uint address)
{
uchar edata;
SREG &= ~BIT(7);//关闭总中断
while(EECR&(1 << EEWE));//等待EEWE为0
EEAR = address;
EECR |= BIT(EERE);//可以执行读操作
edata = EEDR;//读出数据
return edata;
SREG |= BIT(7);//打开总中断
}
写入的函数写成一个变量存在一个地址上,那一个地址是8位的,是不是只能存0~255的整数了?我想在EEPROM里面放浮点数,应该怎么办?谢谢! 展开
1个回答
推荐于2016-10-24
展开全部
你把浮点数拆成正数 保存一下
比如: float 占用 4个byte 你可以把这四个 Byte都保存下来
存放到 eeprom中
比如: float 占用 4个byte 你可以把这四个 Byte都保存下来
存放到 eeprom中

2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询