一、Flash概念
Flash:闪存-------作用是用于永久保存数据,掉电不会丢失数据,等同于电脑的硬盘和U盘、单片还有其他的存储设备;
ROM--用于存储固化程序的(存放指令代码和一些固定数值 程序运行后不可改动) 等同于电脑系统盘
RAM--程序运行中数据的随机存储(掉电后数据消失)等价于电脑运行内存 在整个程序中 所用到需要被改写的量都存储在RAM中
学习flash是为了掌握在外部磁盘的读写应用flash一般用于保存我们的账号密码不会因为重启程序而复原的数据 还可以用保存字符和汉字字库 因为单元内存存不了那么多的数据,所以我们要通过我们外部存储(flash)存储数据。
二、常见的型号
W25Qxx系列-----W25Q16 W25Q32 W25Q64 WQ128
AT24Cxx系列 -----AT24C02 AT2416
三、了解W25Q16的详细信息
一块区=16扇区;1扇区=16页区;页的多少要根据具体flash内存决定;
各个引脚的功能:
1、片选CS:
2、数据线输入输出引脚
3、写保护(WP)
4、保护端(HOLD)
5、串行时钟(CLK)
SPI协议的关键点在于时序
当明确了通信协议之后要去确定硬件引脚-----直击原理图
CS-----推挽输出----控制通信设备的起始和终止
SCK---作为通信过程中时钟信号------复用推挽
MOSI----主设备输出 从设备输入---复用推挽
MISO----主设备输入 从设备输出---浮空输入
三、怎么配置
时钟-> GPIO ->SPI配置;
写功能指令:
实现页编程:
通过串口进行传输并写入flash