SST25VF080B 读写测试-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 236|回复: 0

SST25VF080B 读写测试

[复制链接]
发表于 2022-10-11 12:27 | 显示全部楼层 |阅读模式
SST25VF080B 是一款 SPI NOR 芯片,容量为1MB8MBITs)。这次测试的使用 Arduino Pro Micro 进行读写(它使用32U4作为主控,工作在8Mhz3.3V 下面)。特别注意,这个SPINOR 工作电压为3.3V
具体连接如下:
  
芯片引脚
  
芯片功能
Arduino
Arduino
芯片功能
芯片引脚
1
CS#
D6
3.3V
VCC
8
2
MISO
D14
D7
HOLD#
7
3
WP#
D4
D15
SCK
6
4
GND
GND
D16
MOSI
5
IMG_20221011_121751.jpg
编写的测试代码如下(这个是我写的,库里面也带例子):
  1. #include <SST25VF.h>
  2. #include <SPI.h>


  3. #define MemCs 6 //CS#
  4. #define MemWp 4 //WP#
  5. #define MemHold 7 //HOLD#
  6. #define EraseSwitch  5 //擦除开关
  7. #define WriteSwitch  8 //写入开关

  8. SST25VF flash;

  9. uint8_t buffer[]="www.lab-z.com 2022";

  10. void setup() {
  11.   Serial.begin(115200);
  12.   pinMode(EraseSwitch, INPUT_PULLUP);
  13.   pinMode(WriteSwitch, INPUT_PULLUP);
  14.   
  15.   flash.begin(MemCs, MemWp, MemHold);
  16. }

  17. void loop() {
  18.   // 函数内部直接串口输出
  19.   flash.readID();
  20.   if (digitalRead(EraseSwitch) == LOW) {
  21.     // 擦除 Sector 0
  22.     Serial.println("erasing...");
  23.     flash.sectorErase(0);
  24.   }
  25.   if (digitalRead(WriteSwitch) == LOW) {
  26.     // 写入字符串
  27.     Serial.println("writing...");
  28.     flash.writeArray(0,buffer,sizeof(buffer));
  29.   }

  30.   //读取
  31.   flash.readArray(0,buffer,sizeof(buffer));
  32.   Serial.print("Read: ");
  33.   for (int i=0;i<sizeof(buffer);i++) {
  34.       Serial.print((char)buffer[i]);
  35.     }
  36.   Serial.println("");

  37.   delay(5000);
  38. }
复制代码

库下载

SST25VF080B-master.zip (8.38 KB, 下载次数: 0)


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 07:28 , Processed in 0.117198 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表