50金币求助!W25Q64的片选CS引脚直接接地选通,不使用IO口控制

2019-08-18 21:05发布

SPI总线上只有这一块芯片,所以直接选通了。。

各种操作都模仿原子例程的W25Q64中所写,只是省略了CS引脚电平的高低变化。

程序测试发现,不管读取任何内容都是0xff,读取ID也是0xff。。有大神知道么~~~求指点,弄了一下午了,不知道问题在哪?

给个思路也行,50金币谢谢~~

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
JUSTNIUB
1楼-- · 2019-08-19 00:40
对于FLASH来说,CS脚不能一直是低。
CS的英文全称是chip select,顾名思义可得知CS是用来选择芯片的,那么如何选择芯片呢?
在不工作的时候CS线为高电平,在工作的时候为低电平。也就是说当CS为低电平时,该芯片才会接受命令
对于一个SPI控制器来说,它的时钟线是唯一的,数据线也是唯一的,它要实现一对多的控制,只能是通过CS线来控制,通常一个SPI控制器有几个CS引脚,不同的CS接不同的芯片,就实现了一对多的控制。
南有乔木
2楼-- · 2019-08-19 03:29
本帖最后由 南有乔木 于 2017-5-17 20:36 编辑

写入之后在读取也是0xff,估计是写入失败!!

验证的时候,我在读写操作之前,加了个读取状态寄存器的函数,发现返回值也是0xff!!

原子哥例程中写到状态寄存器默认为0x00。。

现在我很费解到底是哪的问题了。读取状态寄存器的值也是不对的~~~~
南有乔木
3楼-- · 2019-08-19 09:25
11~
Sun_Fly
4楼-- · 2019-08-19 10:51
 精彩回答 2  元偷偷看……
JUSTNIUB
5楼-- · 2019-08-19 11:52
解决这个问题的办法是将CS 引脚用IO方式来控制,在写入命令之前拉低该IO,在完成一次事务之后拉高该IO。
或者直接将CS片选脚初始化为SPI控制,根据手册说明操作。
南有乔木
6楼-- · 2019-08-19 13:18
Sun_Fly 发表于 2017-5-17 18:30
CS拉低了吗,万用表测一下

CS引脚直接接地了,一直处于低电平状态啊。。因为spi总线上就控制这一个的芯片。

这个我倒是没有测量。
理论上CS引脚没有处于低电平会导致所读出的数据全为0XFF吗?

一周热门 更多>