如何将一个数组存储到spi flash(如w25p16)中,单片机又要如何读取这个数组。数组为in

如何将一个数组存储到spi flash(如w25p16)中,单片机又要如何读取这个数组。数组为in,第1张

很简单 如 int a[0] uchar a0h = a[0]>>8 a0L = a[0] 这样就分开成单字节数 可以存储了。还有一个方法顶一个联合体 union { int a_i[10] unsigned char b_c[20]} test.把数组的值直接 赋给 test.a_i[10],然后利用写字节程序吧 test.b_c[20],写入flash,读出数据时,把独处的数据给 test.b_c[20],需要整型数 直接去读 test.a_i 就可以了!

是处理器芯片处理数据的速度。

四倍速是416MHz。兆赫(mhz)是波动频率单位之一。波动频率的基本单位是赫兹,采千进位制。1兆赫相当于1000千赫(KHz)。

W25Q16BV支持标准串行外围接口(SPI),和高速的双倍/四倍输出,双倍/四倍用的引脚:串行时钟、片选端、串行数据I/O0(DI)、I/O1(DO)、I/O2(WP)和I/O3(HOLD)。SPI最高支持104MHz,双倍速是208MHz,四倍速是416MHz。

SPI(Serial Peripheral Interface)是摩托罗拉提出的一种高速、全双工的串行通信总线。标准SPI是4根线,分别时钟线(CLK)、片选(CS)、数据输出(DO)、数据输入(DI),后面摩托罗拉在标准SPI的基础上,又提出了Dual SPI和Quad SPI,目前很多厂家的串行flash已经支持此三类SPI,根据命名规则,一般带Q的型号是支持的,如华邦W25Q16(W25X16不支持)

Standard SPI: CLK,/CS,DI,DO,/WP,/Hold

Dual SPI: CLK,/CS, IO0,IO1,/WP,/Hold

Quad SPI: CLK,/CS,IO0,IO1,IO2,IO3

标准SPI:

CLK(Serial Clock):时钟线

/CS(Chip Select):片选接口

DI(Serial Data Input):数据输入端口

DO(Serial Data Output):输出输出端口

/WP:写保护引脚

/Hold:保持引脚

  DSPI:

增加IO0—IO1数据线

QSPI:

增加IO0—IO3数据线

通过上述,可以发现SPIFI和QSPI异曲同工,而NXP的数据手册中亦提到SPIFI和QSPI的描述,只是SPIFI专门应用于串行闪存,QSPI可以应用在支持QSPI的各类外设中。基于各类原因,QSPI专利或是作自身MCU特点,NXP应该是对QSPI进行改进,衍生出“SPIFI”这高大上的名称。因此,如果在此之前使用过QSPI的,对于SPIFI使用会易于理解。但NXP对外宣传SPIFI是花费很长时间研究出来的非常厉害的专利,底层代码并不开源,以库的形式提供,因此使用起来调用库API即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8975569.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存