野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 21030|回复: 3

STM32与FLASH通过SPI通讯问题

[复制链接]
发表于 2020-8-21 16:00:24 | 显示全部楼层 |阅读模式
为什么主机STM32在读取从机FLASH设备号时,主机STM32发送读取命令后,从机发的一直是0XFF(Dummy_Byte) ?
QQ截图20200821155313.png
QQ截图20200821155202.png
回复

使用道具 举报

发表于 2020-9-5 16:21:41 | 显示全部楼层
同问,我在学习的时候也有这个疑惑,来个大佬帮忙解答一下
回复 支持 反对

使用道具 举报

发表于 2020-9-7 15:23:38 | 显示全部楼层
这段代码的意思应该是主机发了一个jedec指令后又给从机发了三个dummy_byte,dummy_byte是无意义的字符,flash不会去解析。dummy_byte的作用实际上是给flash提供回发id的时钟。这和硬件spi的工作原理有关,从实际结果来看,spi必须边发送边接受,发送完指令后还要接收三字节的id,那再发点什么呢,就发点无意义的字符吧,哈哈哈。实际上要发的无意义字符到底应该是0xff还是其他,要看flash的手册
回复 支持 1 反对 0

使用道具 举报

发表于 2020-9-12 07:23:10 | 显示全部楼层
哈哈,我知道你们的疑惑是什么。   题主把问题都没问清楚都表达错了。

你们是想问主机发送读取ID命令后,接收的时候为什么还要发3个Dummy,为什么不直接接收就好了?是不是想问这个
楼上的已经回答了,就是那样。
SPI的数据线是分开的,所以它们收发数据是同时进行的。而最关键的是flash的时钟是由stm32主机提供的,所以发dummy其实是在给flash提供时钟,
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 09:36 , Processed in 0.030213 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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