签到天数: 866 天 [LV.10]以坛为家III
|
本帖最后由 AllBlue 于 2016-12-29 10:45 编辑
Arduino读写SPI Flash存储芯片 -- W25Q32
W25Q32BV是台湾华邦电子(Winbond)生产的32M-bit(即4M-Byte)串行flash芯片。
主要特性:
- 工作电压:2.5 ~ 3.6 V
- 功耗:读写(active)时4mA,低功耗(power-down)时<1μA
- 容量:32M-bit/4M-byte(包含16384个可编程页,每页大小256字节,总共4,194,304)
- 接口:Standard/Dual/Quad SPI,支持时钟频率最高104MHz
- 支持以4/32/64k-bytes为单位进行Sector/Block擦除
- 一次写入最多256字节
- 软件/硬件写保护功能
- 大于10万次擦除/编程寿命
- 大于20年的数据保存时间
W25Q32BV Datasheet (芯片数据手册):http://wiki.yfrobot.com/datasheet/Winbond-W25Q80_16_32-SPIFlash.pdf
引脚定义:
电路连接图:
示例程序:
库文件github地址:https://github.com/Marzogh/SPIFlash
库下载:
库介绍:http://www.yfrobot.com/wiki/index.php?title=SPIFlash%E5%BA%93
当然你可以从arduino IDE中直接搜索到该库进行安装,非常方便,在线安装方法。
安装完库后打开测试例程:"TestFlash.ino";该程序演示了库中的大部分功能函数!读、写、擦除等功能!
提示:SPI falsh 芯片擦除后,每个字节都为 255 即FF;想要写数据到闪存芯片中,必须先擦除该位置,才能正确写入!
程序打开:File -> Examples -> SPIFlash -> TestFlash (程序太长,自行打开,不占用篇幅放到这里了)
* 波特率:115200
* 保证串口监视器的状态:No Line Ending
演示结果:
在红色框发送对应指令,执行对应操作:
指令含义:
具体函数功能,参考库文件中注释!
扩展阅读:
Flash芯片硬件特性
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|