关于STM32 QSPI DummyCycles的问题
目前在调试STM32L4 QSPI,遇到以下问题:1、使用DummyCycles时,将其设置为8,使用单线通信,MOSI在DummyCycles区域传输值为0x88,不是很理解,应该为0x00,希望得到解答,谢谢
DummyCycles 等于延时~~ 本帖最后由 stm1024 于 2018-5-23 15:29 编辑
SPI的Master和Slaver之间的传输,类似于两个设备的寄存器交换了数据,你给我一字节,我给你一字节,两个寄存器之间的数据就完成了交换。
总之,使用SPI,你要付出点东西,才能得到点东西。不可能something for nothing.
但是,对于一些指令来说,有时候只需要提供一个指令,不需要特定的数据,例如,这个场景:读一个W25Q之类储存器的芯片ID,发送读ID指令之后,原则上储存器会反馈标识芯片ID的3或4个字节,你不能等储存器把这三到四个字节丢到SPI上,而是要再写三个字节,把这三个字节给替换出来,这个时候, 只要你发送三个字节就行,从设备不关心字节具体内容。没有说一定要是0x88,或者0xff,甚至是0x00,这个全凭个人喜好。 DummyCycles = 0; //无 Dummy 阶段
DummyCycles = 8; //Dummy 阶段。N25Q128A13EF840F
DummyCycles = 4
另外你可以看看这些资料
【利用QuadSPI 外扩串行 NOR Flash 的实现 】
【STM32CubeMX 之QSPI调试】
页:
[1]