MX25R设备的写SPI命令是什么

问题描述

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

用于编写起初,我虽然应该执行以下两个命令:

  • 一个命令{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,0xD8} // PP sequence and Write STATUS register the data 0x2F,0xD8

我是否已正确为此命令组装了序列?

谢谢。

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

enter image description here

enter image description here

解决方法

页面编程(PP命令0x02)与写入状态寄存器(WRSR命令0x01)不同,因此显然您不必在序列前添加0x02,因为它将成为PP命令并将数据写入设备的闪存,而不是状态寄存器。

WRSR时序图是您链接的数据手册的图15。如果您要执行WRSR,则PP与此处无关。相反,如果您要对闪存进行编程,那不是WRSR要做的。

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

您的序列:0x02,0x01,0x2F,0xEF,0xD8将向地址0x012FEF写入一个字节0xD8。数据表中说,地址的LSB应该为零,但确实说明了这种情况下会发生什么,因此,如果建议不正确且不符合您的意图,则可以很好地进行定义。但是,这又似乎很奇怪,将0x2FEFD8写入状态寄存器也不是您想要的。

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