打印
[STM32F4]

F405的HAL_FLASH_Program只支持64位数的写入

[复制链接]
908|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我使用F405内部Flash写数据,发现写入的数只能是uint64_t类型,否则编译都不能通过,那 FLASH_TYPEPROGRAM_BYTE、FLASH_TYPEPROGRAM_HALFWORD、FLASH_TYPEPROGRAM_DOUBLEWORD还有什么用呢?

使用特权

评论回复
沙发
motor666|  楼主 | 2022-5-23 11:08 | 只看该作者
假如我们把uint64_t类型的数传入HAL_FLASH_Program但是选择了FLASH_TYPEPROGRAM_HALFWORD,看看到了HAL_FLASH_Program函数里会如何处理:

FLASH_Program_HalfWord(Address, (uint16_t) Data); 只截取了低16位,高位数被舍弃了,实际验证的结果也是如此,只能写入低16位。

69743628afa4851804.png (18.12 KB )

69743628afa4851804.png

使用特权

评论回复
板凳
WoodData| | 2022-5-24 08:59 | 只看该作者
直接强制转换就行了

使用特权

评论回复
地板
木木guainv| | 2022-6-15 12:22 | 只看该作者
难道和安装的系统有关系?

使用特权

评论回复
5
wowu| | 2022-6-15 12:33 | 只看该作者
可以通过配置更改位数吗

使用特权

评论回复
6
磨砂| | 2022-6-15 12:41 | 只看该作者
需要指定地址吗

使用特权

评论回复
7
xiaoqizi| | 2022-6-15 12:52 | 只看该作者
只能通过强制转换吗

使用特权

评论回复
8
tpgf| | 2022-6-15 12:58 | 只看该作者
其他系列的支持多少位啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

174

主题

422

帖子

1

粉丝