【问题标题】:What is the write SPI command for MX25R device什么是 MX25R 设备的写 SPI 命令
【发布时间】:2020-09-03 20:38:33
【问题描述】:

我想向此设备写入数据并从中读取数据。使用下面显示的手册。

对于写作一开始我虽然应该执行这两个命令:

  • 第一个命令{0x06};//write enable command
  • 第二条命令{0x01,0x2F,0xEF,0xD8}; //write status register based on the table below

但后来我看到了下图 30 中的 PP 命令,它以 0x02 开头。

所以我假设为了在这个设备上存储数据,我需要将 0x02 添加到我的序列中,如下所示先发送 MSB)

  • 第一个命令{0x06};//write enable command
  • 第二条命令{0x02,0x01,0x2F,0xEF,0xD8} // PP sequence and Write STATUS register the data 0x2F,0xEF,0xD8

我是否为这个命令正确组装了序列?

谢谢。

https://www.macronix.com/Lists/Datasheet/Attachments/7461/MX25R8035F,%20Wide%20Range,%208Mb,%20v1.6.pdf

【问题讨论】:

  • 这可能是一个 X-Y 问题 - 你想做什么? WRSR 不是对闪存进行编程的方法。目前尚不清楚您为什么将 WRSR 和 PP 混为一谈。我认为您确实需要更彻底地阅读和理解数据表,而不是随机挑选部分。这可能不是该站点,因为它不是编码问题。 electronics.stackexchange.com 也许,但请注意您的问题不是“为我阅读数据表”类型的问题。那就是先阅读它并就您不理解的部分提出具体问题。

标签: embedded spi


【解决方案1】:

页面编程(PP 命令 0x02)与写入状态寄存器(WRSR 命令 0x01)不同,所以显然你不要在序列前加上 0x02,因为它将是一个 PP 命令并将数据写入设备的闪存,而不是状态寄存器。

WRSR 时序图是您链接的数据表的图 15。如果 WRSR 是您想要做的,那么 PP 在这里没有任何意义。相反,如果你想对闪存进行编程,那不是 WRSR 所做的。

该设备具有用于控制其操作和检查其状态的寄存器,它具有用于存储数据的闪存 - 以及用于访问这些数据的不同命令。

您的序列:0x02,0x01,0x2F,0xEF,0xD8 会将单个字节 0xD8 写入地址 0x012FEF。数据表说地址的 LSB 应该为零,但确实解释了当不是这种情况时会发生什么,所以如果不明智并且不太可能是你想要的,它是很好的定义。但再次看来,将0x2FEFD8 写入状态寄存器也不是您想要的。

数据表确实存在一些可能会妨碍您的语言问题。例如,PP 部分使用了“努力”这个词,我认为它的意思是“效果”。

【讨论】:

  • 您好 Clifford,所以如果理解正确,例如,我想将 1111 1111 的值写入所有零地址,即十六进制的 FF,因此正确的命令是 0x02,0x00,0x00,0x00,0x00, FF 那么首先是 {0x06};//write enable 命令在开始?那么 PP 命令 0x02,0x00,0x00,0x00,0x00,FF 如果我想从该地址读取值 FF 那么我应该通过 fig18 执行 0x03,0x00,0x00,0x00,0x00 正确吗? macronix.com/Lists/Datasheet/Attachments/7461/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多