完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用STM32F103VET6flash存储float变量,读取时只有整数部分。代码如下:往flash写13.12,读出来DATAW[0]显示13.0。
#define FLASH_PAGE_SIZE ((uint32_t)0x00000800) /* FLASH Page Size */ #define FLASH_USER_START_ADDR ((uint32_t)0x0803F800) /* Start @ of user Flash area */ #define FLASH_USER_END_ADDR ((uint32_t)0x0803FFFF) /* End @ of user Flash area */ void Save_factory_parameter() { uint32_t Addr = FLASH_USER_START_ADDR , i; //FLASH_USER_START_ADDR的地址留给出厂值设置标志位用的 FLASH_Unlock(); FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); while( FLASH_ErasePage(FLASH_USER_START_ADDR ) != FLASH_COMPLETE ); while( FLASH_ProgramWord( Addr , 13.12 ) != FLASH_COMPLETE ) ; FLASH_Lock(); } void Read_factory_parameter() { uint32_t Addr = FLASH_USER_START_ADDR ; DATAW[0] = *(__IO uint32_t *)Addr; } |
|
相关推荐
21个回答
|
|
楼上大神已经解决问题了,我来凑热闹
|
|
|
|
FLASH_ProgramWord函数不是以float 方式做存储的,原型 FLASH_Status
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1042 浏览 2 评论
STM32CUBEMX(13)--SPI,W25Q128外部Flash移植
2058 浏览 0 评论
OV7670摄像头使用串口发送数据到另一个板子上的lcd,出现花屏
2072 浏览 1 评论
1426 浏览 0 评论
812 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-21 17:00 , Processed in 0.569884 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号