spi_flash的操作(擦除、写数据)

SPI_FLASH的擦除、写、读操作

  1. 继续在上一节中的spi_flash.c文件中编写。
  2. 明确添加代码所要实现的功能:对spi_flash进行各种操作(去保护、擦除、(烧)写操作、读操作)。
  3. 明确对spi_flash写操作的流程:去保护 -> 擦除 -> 烧写。

  4. 完成各模块的函数

    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()
    

  5. 在头文件spi_flash.h中添加需要给外部提供的函数,并在main.c文件中调用并实现打印。

    —在spi_flash.h中添加需要给外部提供的函数

    —main函数中调用

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

    —编译成功

    —串口打印

    —OLED打印

12/30/2017 12:25:13 AM

你可能感兴趣的:(嵌入式linux)