举报
举报
举报
举报
举报
举报
举报
举报
引用: zhhx1985 发表于 2019-2-14 17:26
本帖最后由 wofei1314 于 2015-10-9 07:31 编辑
while( FLASH_ProgramWord( Addr , 13.12 ) != FLASH_COMPLETE ) ;
举报
引用: 你我然后 发表于 2019-2-14 15:49
虽然float和int在内存中都占用4个字节,但是你在调用 FLASH_ProgramWord( Addr , 13.12 )的时候,编译器会把13.12转换成整数13。
要想写入float 13.12,你得定义一个float变量。
伪代码演示:
举报
引用: zhhx1985 发表于 2019-2-14 17:26
本帖最后由 wofei1314 于 2015-10-9 07:31 编辑
while( FLASH_ProgramWord( Addr , 13.12 ) != FLASH_COMPLETE ) ;

举报
引用: yuxiangxyz 发表于 2019-2-14 16:55
FLASH_ProgramWord函数不是以float 方式做存储的,原型 FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data); 其中 uint32_t 是整数型含数,建议你 把 float进两 两次转换成整数型,可以放大100倍方式存入
举报
举报
举报
引用: szzjfyp 发表于 2019-2-14 18:10
感谢你的回答,while( FLASH_ProgramWord( Addr , 13.12f ) != FLASH_COMPLETE ) ;这样写法编译器报错!
举报
举报
更多回帖