Flash这种芯片调试,首先必须要读出他的ID来,才能进行读写操作。

AT45DB321D 8192pages(512/528Bytes/Pages)大约4M左右,与单片机之间SPI通信。

大体流程就是先配置好spi,读出芯片ID,往flash里面写一个数据然后再把它读出来,可以通过串口把写入的数据打印出来。写入的过程就是先将数据写入到缓冲器(1或2),在从缓冲器写到指定页的指定地址(具体页地址和字节地址看芯片手册),读的过程也是一样,时序图都在芯片手册有。在这只放一段读ID的程序,详细代码参考的由振南修改的SPI_FLASH,放在我的Github里面。~~~Github~~~

#define Dummy_Byte    0xa5
uint8_t SPI_FLASH_ReadID(void)
{SPI_CS_LOW();SPI_WriteByte(0x9F);ID[0] = SPI_WriteByte(Dummy_Byte);ID[1]  = SPI_WriteByte(Dummy_Byte);ID[2]  = SPI_WriteByte(Dummy_Byte);ID[3]  = SPI_WriteByte(Dummy_Byte);SPI_CS_HIGH();if(ID[0]==0x1f&&ID[1]==0x27&&ID[2]==0x01&&ID[3]==0x00)return 0;elsereturn 1;
}

读出来ID后,ID每个字节都代表特定意思,记得第一个应该是代表atmel公司,后面就查手册吧。由振南的程序读和写都封装好了,不用考虑时序,测试可用。

STM32与Flash AT45DB321D之间读写数据相关推荐

  1. STM32 在flash中存储float数据

    Float 类型数字在计算机中用4个字节存储,遵循IEEE-754格式标准: Float 数据 符号部分(S) 底数部分(M) 指数部分(E) 说明 0 表示正 1 表示负 使用二进制数来表示此浮点数 ...

  2. STM32:Flash擦除与读写操作(HAL库)

    应用平台:STM32F030F4P6 ST官方库:STM32Cube_FW_F0_V1.9.0 背景知识 绝大多数的单片机和微控制器(ARM,x86),地址空间都是以字节为单位的,也就是说一个地址是一 ...

  3. 嵌入式C语言STM32在FLASH中读取写入数据

    STM32F4XX向指定FLASH地址读写 向FLASH中写入数据的主体思想就是先解锁,然后清标志位,然后找到要写入的地址,然后改变标志准备写入,然后在按已有的函数按地址一字节一字节的写入,最后要将F ...

  4. STM32 内部Flash读写 程序源码 [已验证]

    目录 STM32 内部Flash带缓存读写 程序源码 0 Macro 1.Flash_Erase 2. Flash_Read_Byte 3.Flash_Write_NoBuffer 4.Flash_W ...

  5. STM32单片机初学8-SPI flash(W25Q128)数据读写

    当使用单片机进行项目开发,涉及大量数据需要储存时(例如使用了屏幕作为显示设备,常常需要存储图片.动画等数据),单靠单片机内部的Flash往往是不够用的. 如STM32F103系列,内部Flash最多只 ...

  6. 学习STM32 Flash存储 W25Q64 SPI总线存储模块进行读写数据

    今天学习 Flash 存储芯片进行数据写入和读取方法.了解W25Q64 存储芯片的使用.能够用 STM32 单片机对 W25Q64 进行写入数据,擦除数据,读取数据. w25q64 是什么? W25Q ...

  7. stm32对flash的读写保护与解除

    一.STM32对内部Flash的保护措施           所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问 - 写保护和读保护.          1.读保护即大家通常说的 ...

  8. map文件分析 stm32_使用STM32内部Flash额外的空间来存储数据

    本次分享关于STM32内部FLASH的笔记. STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码.如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来, ...

  9. stm32内部Flash读写

    文章目录 1.stm32内部flash介绍 2.读写驱动编写 3.源码 上篇文章讲到了STM32来驱动外部flah的操作,flash真是好东西啊,内存大,能存的东西多,这样我们就可以用它来做一些大点的 ...

最新文章

  1. java date类_Java的败笔-Date类
  2. 离散数学及其应用第6版中文版勘误
  3. 双非硕士毕业4.5年晋级鹅厂T11之葵花宝典
  4. 表白c语言程序设计,C语言编程学习打造表白神器:亲爱的让我们相爱在一起
  5. Oracle之AUTHID CURRENT_USER
  6. 若非必要请勿直接使用@_
  7. android ocr识别源码_身份证识别OCR解决手动输入繁琐问题
  8. Python中的抽象类和抽象方法
  9. 汽车电子技术——ECU/MCU嵌入式软件开发
  10. 数码管显示 0-9999计数器
  11. Word 标题后自动添加分页符、分节符显示与查看
  12. Coding 码市:携手开发者与创业者,重新定义软件外包
  13. 转:无损压缩和有损压缩
  14. 怎样用word制作标准格式公文操作实例
  15. Java内存结构模型
  16. 机器学习平台系列——XGB feature_names mismatch 问题解决方案
  17. 深入浅出JS—11 ES6中类class和extends的使用
  18. python 在线教程-python教程在线
  19. npm模块之opn使用教程(node **.js直接再浏览器中打开相应的文件)
  20. 基于STM32F103HAL库的声音定位系统

热门文章

  1. c++ 字符串 判断中文
  2. 设置Win10批处理bat文件默认以管理员权限运行
  3. Face Super-Resolution Guided by 3D Facial Priors(ECCV2020)论文解读
  4. Python那些让我疑惑许久的代码--2
  5. OpenWrt路由开启DDNS+端口转发进行外网访问
  6. EBS日记账冲销API
  7. windows下安装VMware Workstation14.0Pro(VMware系列一)
  8. cardboard 效果_如何在iPhone上设置Google Cardboard
  9. macM1芯片安装nacos2.0X
  10. 一本通1348:城市公交网建设问题