首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

单片机内部FLASH的字节操作

一般32位单片机的内部FALSH是不支持字节操作的,有的可以按字节读取,但是不能按字节写入。...而且,一般单片机内部FALSH擦除的最小单位都是页,如果向某页中的某个位置写入数据,恰好这个位置的前面存了其他数据,那么就必须把这页擦除,存的其他数据也会丢失。...实际上就是说内部的FALSH不好做改写的操作,如果有很多数据需要存放,最好是分页存储。这也是FALSH与E2PROM最大的区别,后者支持按字节操作且无需擦除,即使某一个地址写坏了,也不影响其他地址。...可以看出这种方法弊端很明显: 1.耗时长  每次写都要读整个BUF,然后还要先把数据存到BUF里,然后再写入整个BUF; 2.FALSH擦写次数增加,降低使用寿命; 下面给出测试代码: #include...==================================================================== // 判断写入地址是否非法 起始地址或者结束地址不在FALSH

6610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    STM32F7QSPI学习笔记——读写N25Q128

    发送对应的指令来获得我们想要的结果,此时的FALSH就是一个普通的SPI协议外设,所以接下来所有对FALSH所有的操作都需要先发送相关指令,我们需要配置指令参数(指令类型、地址、数据宽度、地址宽度等等)...然后 使用HAL_QSPI_Command函数将读ID指令发送给FALSH,等待发送完成 最后 调用HAL_QSPI_Receive,接受FALSH返回的数据,即芯片ID /** * @brief...6.读FALSH 这里仅介绍4线模式下的读FALSH流程,首先查看手册4线模式读时序 从时序图可以看出,指令是1线模式,地址是4线模式,空周期(DummyCycles)为10,数据也是4线模式,还有此时的读指令是...\r\n"); #endif return HAL_ERROR; } return HAL_OK; } 本函数实现了从FALSH指定地址读取指定数量字节的功能  7.写FALSH...同读FALSH类似,我们需要在手册中找到4线写FALSH的时序: 根据时序图配置如下:1线指令,1线地址,24bit地址,4线数据,没有空周期  /** * @brief 将大量数据写入QSPI存储器

    12900
    领券