OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7885|回复: 12

SPI的W25Q芯片ID读取的问题

[复制链接]

31

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2016-6-5
在线时间
53 小时
发表于 2016-8-26 16:58:58 | 显示全部楼层 |阅读模式
1金钱
u16 W25QXX_ReadID(void)
{
        u16 Temp = 0;          
        W25QXX_CS=0;                                    
        SPI2_ReadWriteByte(0x90);//发送读取ID命令            
        SPI2_ReadWriteByte(0x00);             
        SPI2_ReadWriteByte(0x00);             
        SPI2_ReadWriteByte(0x00);                                    
        Temp|=SPI2_ReadWriteByte(0xFF)<<8;  
        Temp|=SPI2_ReadWriteByte(0xFF);         
        W25QXX_CS=1;                                    
        return Temp;
}  
这是原子的例程,中间那3次          SPI2_ReadWriteByte(0x00);           这是干嘛用的?
       

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

171

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2337
金钱
2337
注册时间
2015-9-6
在线时间
536 小时
发表于 2016-8-26 16:58:59 | 显示全部楼层
回复

使用道具 举报

31

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2016-6-5
在线时间
53 小时
 楼主| 发表于 2016-8-26 17:37:53 | 显示全部楼层

能不能解释一下90H后面的dummy的意思啊?第一次用,不懂,谢谢啊!
回复

使用道具 举报

7

主题

171

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2337
金钱
2337
注册时间
2015-9-6
在线时间
536 小时
发表于 2016-8-26 17:47:58 | 显示全部楼层
247470035 发表于 2016-8-26 17:37
能不能解释一下90H后面的dummy的意思啊?第一次用,不懂,谢谢啊!

dummy = 虚拟的,假的
回复

使用道具 举报

31

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2016-6-5
在线时间
53 小时
 楼主| 发表于 2016-8-26 17:52:46 | 显示全部楼层
键盘侠 发表于 2016-8-26 17:47
dummy = 虚拟的,假的

那就是随便发什么都可以咯?
回复

使用道具 举报

7

主题

171

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2337
金钱
2337
注册时间
2015-9-6
在线时间
536 小时
发表于 2016-8-26 17:57:33 | 显示全部楼层
247470035 发表于 2016-8-26 17:52
那就是随便发什么都可以咯?

对的,你可以试试的
回复

使用道具 举报

31

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2016-6-5
在线时间
53 小时
 楼主| 发表于 2016-8-26 18:07:01 | 显示全部楼层
键盘侠 发表于 2016-8-26 17:57
对的,你可以试试的

后面的(ID7-ID0)这个是干嘛用的?
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2016-6-16
在线时间
1 小时
发表于 2016-8-28 11:18:15 | 显示全部楼层
就是需要读三次空的,后面再读就是数据了。
回复

使用道具 举报

2

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
410
金钱
410
注册时间
2016-5-6
在线时间
110 小时
发表于 2016-8-31 13:30:14 | 显示全部楼层
247470035 发表于 2016-8-26 18:07
后面的(ID7-ID0)这个是干嘛用的?

id 是一個8位的數據。
回复

使用道具 举报

31

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2016-6-5
在线时间
53 小时
 楼主| 发表于 2016-8-31 14:59:08 | 显示全部楼层
過路人一號 发表于 2016-8-31 13:30
id 是一個8位的數據。

那有些是UID是什么啊?还有D?
回复

使用道具 举报

3

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
285
金钱
285
注册时间
2016-7-16
在线时间
73 小时
发表于 2016-9-1 19:04:55 | 显示全部楼层
楼主,你理解这两句程序了吗?Temp|=SPI2_ReadWriteByte(0xFF)<<8;  
                                              Temp|=SPI2_ReadWriteByte(0xFF);         
这两句该怎么理解啊?求解,谢谢了!


回复

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2016-9-1
在线时间
6 小时
发表于 2016-9-1 19:09:05 | 显示全部楼层
这个最好去阅读下 SPI FLASH的各个指令时序图就明白了
回复

使用道具 举报

6

主题

110

帖子

0

精华

高级会员

Rank: 4

积分
553
金钱
553
注册时间
2014-10-23
在线时间
195 小时
发表于 2016-9-2 10:59:14 | 显示全部楼层
Lovexiong 发表于 2016-9-1 19:04
楼主,你理解这两句程序了吗?Temp|=SPI2_ReadWriteByte(0xFF)

读取id呀,先读取高8位,然后是低八位。至于为什么这样读,看手册。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 00:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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