打印
[STM32F1]

HAL库自带的flash函数如何使用

[复制链接]
402|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
djz1992|  楼主 | 2020-9-1 21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 djz1992 于 2020-9-1 21:22 编辑

MX生成的代码,在头文件中自带了flash的写入函数、解锁函数、上锁函数
HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
HAL_StatusTypeDef HAL_FLASH_Unlock(void)
HAL_StatusTypeDef HAL_FLASH_Lock(void)
网上找了一个例程,也使用的这三个函数
void flash_write_halfword(uint32_t addr, uint16_t * buff, uint16_t len)
{
        /* 1/4解锁FLASH*/
        HAL_FLASH_Unlock();
        for(int i = 0; i < len; i++)
        {
                /* 3/4对FLASH烧写*/
                HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, addr + i*2, buff);
        }
        /* 4/4锁住FLASH*/
        HAL_FLASH_Lock();
}


但是实测下来没有用,没有写入。不知道HAL库的这些函数该怎么用。

使用特权

评论回复
沙发
djz1992|  楼主 | 2020-9-1 21:22 | 只看该作者
写入之前先要全部擦除

使用特权

评论回复
板凳
dirtwillfly| | 2020-9-3 08:54 | 只看该作者
网上的例程不靠谱,要看官网提供的手册和例程

使用特权

评论回复
地板
名字是啥样| | 2020-9-3 09:00 | 只看该作者
HAL库一直没有使用明白,为什么还有那么多人在用呢?

使用特权

评论回复
5
ayb_ice| | 2020-9-3 09:03 | 只看该作者
安装目录下有例程,看一下就知道了

使用特权

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

本版积分规则

个人签名:人生苦短,冬日苦长,正是青葱,却无骄阳

115

主题

620

帖子

5

粉丝