野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14093|回复: 4

SPI flash 接收和发送功能

[复制链接]
发表于 2019-7-2 11:10:57 | 显示全部楼层 |阅读模式



关于接收和发送函数同时进行 老师是这样讲的:"我们通过DI线发送给flash的数据, flash会忽略带XXXXXXX的这些数据, 而我们的stm32 又能通过DO线接收数据,所以图二的函数同时具有发送和接收功能, 我们都可以用它。"


请问大侠们,
(1)这个因果关系是怎么成立的呢?
(2)flash会忽略带XXXXXXX的这些数据;
       a, 这是原因的一部分吗?  
       b,为什么要忽略这些数据?

SPI  flash 发送和接收.png


SPI 发送和接收函数.png


先行谢过!!





回复

使用道具 举报

发表于 2019-7-2 13:58:18 | 显示全部楼层
好像是DI线有发送时,CLK才会产生,然后设计的协议上就是这样规定运作。
回复 支持 反对

使用道具 举报

发表于 2019-7-2 20:09:58 | 显示全部楼层
本帖最后由 bootblack 于 2019-7-2 20:11 编辑

SPI发送和接收是同时进行的,并且,是由主机启动传输的。
一般情况下,单片机作为主机,SPI FLASH 作为从机。
针对写操作:单片机写数据到FLASH,主机忽略从机返回数据;
针对读操作:单片机从FLASH读数据,主机可以写入任意数据 (dummy byte);--- 但是主机不能不写入数据,否则不能从从机那里“捎带”出数据。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-24 16:03:01 | 显示全部楼层
WishWish 发表于 2019-7-2 13:58
好像是DI线有发送时,CLK才会产生,然后设计的协议上就是这样规定运作。

还是不大明白,我已经跳过去继续学了,后期看看能突然大彻大悟不   

谢谢您!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-24 16:11:17 | 显示全部楼层
bootblack 发表于 2019-7-2 20:09
SPI发送和接收是同时进行的,并且,是由主机启动传输的。
一般情况下,单片机作为主机,SPI FLASH 作为从 ...

抱拳!!

非常感谢!

再次请教: 针对读操作:单片机从FLASH读数据,主机可以写入任意数据 (dummy byte);--- 但是主机不能不写入数据,否则不能从从机那里“捎带”出数据。--------意思是说, 主机想要从flash 中读数据的话,需要先“写入任意数据”(作为引子),才能把flash 中的数据读出来?

读了好多遍才得出的想法,不知道是否正确呢?

回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 21:00 , Processed in 0.048868 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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