wofei1314 发表于 2015-10-9 07:30
while( FLASH_ProgramWord( Addr , 13.12 ) != FLASH_COMPLETE ) ;
最好改为while( FLASH_ProgramWord( Add ...
谢谢你的回答,数组我也是定义成float型的,如右 float Data1W;
9楼的方法可行,我试过了。
党国特派员 发表于 2015-10-9 01:14
虽然float和int在内存中都占用4个字节,但是你在调用 FLASH_ProgramWord( Addr , 13.12 )的时候,编译器会 ...
非常感谢,你的方法我试了一下,可行!:lol
wofei1314 发表于 2015-10-9 07:30
while( FLASH_ProgramWord( Addr , 13.12 ) != FLASH_COMPLETE ) ;
最好改为while( FLASH_ProgramWord( Add ...
感谢你的回答,while( FLASH_ProgramWord( Addr , 13.12f ) != FLASH_COMPLETE ) ;这样写法编译器报错!
chifen 发表于 2015-10-8 17:05
FLASH_ProgramWord函数不是以float 方式做存储的,原型 FLASH_Status FLASH_ProgramWord(uint32_t Address, ...
谢谢,你的答复
float乘多少倍后存int
JackieLaura 发表于 2015-10-9 09:59
float乘多少倍后存int
我觉得这样做有点繁琐:lol
那就地方iv 发表于 2015-10-9 10:02
我觉得这样做有点繁琐
这个应该最实用简单的方法了,精度基本上也不会有损失
float i;
int j
i=13.12;
j=(i)*100;
while( FLASH_ProgramWord( Addr ,j ) != FLASH_COMPLETE ) ;
试一下行不行
那就地方iv 发表于 2015-10-9 09:51
感谢你的回答,while( FLASH_ProgramWord( Addr , 13.12f ) != FLASH_COMPLETE ) ;这样写法编译器报错!
...
FLASH_ProgramWord这个函数的第二个参数你看看是啥?应该是不支持直接传float格式的,所以错误,可以这样
float val=13.12;
while( FLASH_ProgramWord( Addr ,(WORD *)(&val)) != FLASH_COMPLETE ) ;
过来支持下!