你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
查看全部评分
举报
butterflyspring 发表于 2020-10-20 16:47 检查一下 FLASH_ProgramHalfWord(WriteAddr,pBuffer);中有没有等待操作完成的判断。
hhhhhhhaa 发表于 2020-10-7 16:02 是我哪里没有学到位吗?
安 发表于 2020-10-8 16:07 1、FLASH可以用来存储一些数据,但不能太频繁,避免写坏 2、从代码上看操作应该没问题,考虑检查一下写入地 ...
hhhhhhhaa 发表于 2020-10-9 14:55 写入和读取的地址是正确的,不断电没有问题,但是一断电就不行了,读取到的就是FF ...
小歆-2051663 发表于 2020-10-9 15:16 我也感觉是地址错误,能否提供一下你读写的Flash地址。
wangzhao123 发表于 2020-10-7 16:05 读取FLASH的源代码没问题,看你读取的是否是同一个地址的数据
STM32F030内部晶振怎么设置,内部晶振是延时函数怎么设置
分享STM32F030K6程序运行异常的解决方法
STM32F030正常上电不运行
DMA 读取GPIO的状态
stm32的同一个定时器,不同的通道,可以不同时的输出pwm波形吗
基于STM32的锂动力电池检测装置的设计
STM32的低功耗模式
STM32的上电启动过程
STM32中如何实现数据加密
STM32的I2S外设
FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data)
{
FLASH_Status status = FLASH_COMPLETE;
/* Check the parameters */
assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
/* Wait for last operation to be completed */
status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
if(status == FLASH_COMPLETE)
{
/* If the previous operation is completed, proceed to program the new data */
FLASH->CR |= FLASH_CR_PG;
*(__IO uint16_t*)Address = Data;
/* Wait for last operation to be completed */
status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
/* Disable the PG Bit */
FLASH->CR &= ~FLASH_CR_PG;
}
/* Return the Program Status */
return status;
}
读取FLASH的源代码没问题,看你读取的是否是同一个地址的数据
2、从代码上看操作应该没问题,考虑检查一下写入地址和读取地址是正确。
写入和读取的地址是正确的,不断电没有问题,但是一断电就不行了,读取到的就是FF
我也感觉是地址错误,能否提供一下你读写的Flash地址。
好的,我读写的地址是0x08000000+14*1024
因为030的内存是16K 我读写第14页应该是没有影响的,程序只有10K大小
0x08000000+14*1024 读写的地址都是这个,应该是没错的啊,我的程序只有10K大小,030的内存是16K 我读写第14页应该没错啊