热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

SPI_FLASH的擦除、写、读操作继续在上一节中的spi_flash.c文件中编写。明确添加代码所要实现的功能:对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


推荐阅读
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • 异常要理解Java异常处理是如何工作的,需要掌握一下三种异常类型:检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常ÿ ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 解决FCKeditor应用主题后上传问题及优化配置
    本文介绍了在Freetextbox收费后选择FCKeditor作为替代方案时遇到的上传问题及其解决方案。通过调整配置文件和调试工具,最终解决了上传失败的问题,并对相关配置进行了优化。 ... [详细]
  • 在本教程中,我们将深入探讨如何使用 Python 构建游戏的主程序模块。通过逐步实现各个关键组件,最终完成一个功能完善的游戏界面。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • 使用Python计算文件的CRC32校验值
    本文记录了一次对路由器固件分析时,如何利用Python计算文件的CRC32校验值。文中提供了完整的代码示例,并详细解释了实现过程。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • 深入解析AUTOSAR方法论:汽车电子系统开发的理论基础(第三部分)
    本文详细探讨了AUTOSAR方法论在汽车电子软件系统开发中的应用,涵盖了从系统配置到生成可执行代码的各个关键步骤。通过介绍各阶段的任务和工具支持,帮助读者全面理解AUTOSAR的设计流程。 ... [详细]
author-avatar
手浪用户穹谷之鹰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有