STM32与Flash AT45DB321D之间读写数据
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之间读写数据相关推荐
- STM32 在flash中存储float数据
Float 类型数字在计算机中用4个字节存储,遵循IEEE-754格式标准: Float 数据 符号部分(S) 底数部分(M) 指数部分(E) 说明 0 表示正 1 表示负 使用二进制数来表示此浮点数 ...
- STM32:Flash擦除与读写操作(HAL库)
应用平台:STM32F030F4P6 ST官方库:STM32Cube_FW_F0_V1.9.0 背景知识 绝大多数的单片机和微控制器(ARM,x86),地址空间都是以字节为单位的,也就是说一个地址是一 ...
- 嵌入式C语言STM32在FLASH中读取写入数据
STM32F4XX向指定FLASH地址读写 向FLASH中写入数据的主体思想就是先解锁,然后清标志位,然后找到要写入的地址,然后改变标志准备写入,然后在按已有的函数按地址一字节一字节的写入,最后要将F ...
- STM32 内部Flash读写 程序源码 [已验证]
目录 STM32 内部Flash带缓存读写 程序源码 0 Macro 1.Flash_Erase 2. Flash_Read_Byte 3.Flash_Write_NoBuffer 4.Flash_W ...
- STM32单片机初学8-SPI flash(W25Q128)数据读写
当使用单片机进行项目开发,涉及大量数据需要储存时(例如使用了屏幕作为显示设备,常常需要存储图片.动画等数据),单靠单片机内部的Flash往往是不够用的. 如STM32F103系列,内部Flash最多只 ...
- 学习STM32 Flash存储 W25Q64 SPI总线存储模块进行读写数据
今天学习 Flash 存储芯片进行数据写入和读取方法.了解W25Q64 存储芯片的使用.能够用 STM32 单片机对 W25Q64 进行写入数据,擦除数据,读取数据. w25q64 是什么? W25Q ...
- stm32对flash的读写保护与解除
一.STM32对内部Flash的保护措施 所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问 - 写保护和读保护. 1.读保护即大家通常说的 ...
- map文件分析 stm32_使用STM32内部Flash额外的空间来存储数据
本次分享关于STM32内部FLASH的笔记. STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码.如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来, ...
- stm32内部Flash读写
文章目录 1.stm32内部flash介绍 2.读写驱动编写 3.源码 上篇文章讲到了STM32来驱动外部flah的操作,flash真是好东西啊,内存大,能存的东西多,这样我们就可以用它来做一些大点的 ...
最新文章
- java date类_Java的败笔-Date类
- 离散数学及其应用第6版中文版勘误
- 双非硕士毕业4.5年晋级鹅厂T11之葵花宝典
- 表白c语言程序设计,C语言编程学习打造表白神器:亲爱的让我们相爱在一起
- Oracle之AUTHID CURRENT_USER
- 若非必要请勿直接使用@_
- android ocr识别源码_身份证识别OCR解决手动输入繁琐问题
- Python中的抽象类和抽象方法
- 汽车电子技术——ECU/MCU嵌入式软件开发
- 数码管显示 0-9999计数器
- Word 标题后自动添加分页符、分节符显示与查看
- Coding 码市:携手开发者与创业者,重新定义软件外包
- 转:无损压缩和有损压缩
- 怎样用word制作标准格式公文操作实例
- Java内存结构模型
- 机器学习平台系列——XGB feature_names mismatch 问题解决方案
- 深入浅出JS—11 ES6中类class和extends的使用
- python 在线教程-python教程在线
- npm模块之opn使用教程(node **.js直接再浏览器中打开相应的文件)
- 基于STM32F103HAL库的声音定位系统
热门文章
- c++ 字符串 判断中文
- 设置Win10批处理bat文件默认以管理员权限运行
- Face Super-Resolution Guided by 3D Facial Priors(ECCV2020)论文解读
- Python那些让我疑惑许久的代码--2
- OpenWrt路由开启DDNS+端口转发进行外网访问
- EBS日记账冲销API
- windows下安装VMware Workstation14.0Pro(VMware系列一)
- cardboard 效果_如何在iPhone上设置Google Cardboard
- macM1芯片安装nacos2.0X
- 一本通1348:城市公交网建设问题