SPI_FLASH的擦除、写、读操作
- 继续在上一节中的spi_flash.c文件中编写。
- 明确添加代码所要实现的功能:对spi_flash进行各种操作(去保护、擦除、(烧)写操作、读操作)。
明确对spi_flash写操作的流程:去保护 -> 擦除 -> 烧写。
完成各模块的函数
4.1 去保护操作(去“两层保护”:状态寄存器,数据存储区)
—将“两次去保护”放在SPI_Flash_Init函数

—去状态寄存器保护:SPI_Flash_ClearProtect_ForStatusRegs

—去数据存储区保护:SPI_Flash_ClearProtect_ForData

—去保护函数的子函数
读两个状态寄存器的值:SPI_Flash_ReadStatusReg1()、SPI_Flash_ReadStatusReg2

写两个状态寄存器的值:SPI_Flash_WriteStatusRegs()

4.2 擦除(需要一段时间)

4.3 (烧)写操作

4.4 读操作

4.5 以上的写寄存器值、擦除、烧写均需要使能函数和等待函数
使能函数:SPI_Flash_Enable()
等待函数:SPI_Flash_Wait_WhenBusy()
在头文件spi_flash.h中添加需要给外部提供的函数,并在main.c文件中调用并实现打印。
—在spi_flash.h中添加需要给外部提供的函数

—main函数中调用

上传文件,编译成功后,烧写新的i2c.bin文件,观察串口打印以及OLED打印(如图)
—编译成功

—串口打印

—OLED打印

12/30/2017 12:25:13 AM
本文详细介绍了SPI_FLASH的基本操作,包括去保护、擦除、写入和读取等过程。通过具体的函数实现,如去保护函数SPI_Flash_ClearProtect_ForStatusRegs和SPI_Flash_ClearProtect_ForData,以及擦除、写入所需的使能函数SPI_Flash_Enable和等待函数SPI_Flash_Wait_WhenBusy。文章还提供了如何在头文件spi_flash.h中添加外部函数接口的方法。
2823

被折叠的 条评论
为什么被折叠?



