求助一下外拓内存怎么往里面存小数呢

2019-07-20 09:34发布

如题,F429使用拓展内存怎么在拓展内存里存储小数呢?如图整数部分都可以,一旦存储float就跳到"系统异常"中断里死循环了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
a496298685
1楼-- · 2019-07-20 15:31
 精彩回答 2  元偷偷看……
a7597
2楼-- · 2019-07-20 18:11
a496298685 发表于 2018-2-5 21:13
如果这样,那就强制转换成word型然后保存。读出时再强制转换成float

哦哦,谢谢我明天试试
hpdell
3楼-- · 2019-07-20 22:58
浮点数保存,读取,方法

把所需要存取的浮点数和一个数组(char i[4])构成一个联合,存取的时候用数组,使用的时候用浮点数,如下:

union
{
        u8 i[4];
        float j;
}myfloat;
写:
EEPROM_WRITE(0,myfloat.i[0]);
EEPROM_WRITE(1,myfloat.i[1]);
EEPROM_WRITE(2,myfloat.i[2]);
EEPROM_WRITE(3,myfloat.i[3]);
读:
myfloat.i[0]=EEPROM_READ(0);
myfloat.i[1]=EEPROM_READ(1);
myfloat.i[2]=EEPROM_READ(2);
myfloat.i[3]=EEPROM_READ(3);
使用浮点数:
float k=myfloat.j;
a7597
4楼-- · 2019-07-21 03:06
 精彩回答 2  元偷偷看……
gotofly21
5楼-- · 2019-07-21 05:55
你这个是地址不符合要求,一般来说多字节数不能从奇数地址开始

一周热门 更多>