华邦存储器W25Q80, W25Q16, W25Q32系列与stm32f1系列单片机的spi通讯
2020.4.9 spi通讯在配置好之后一定要开启spi使能,和串口的配置是一样的
2020.4.13 华邦存储器的spi通讯调试完成。
总结,在调试的过程中出现了两次大的问题,第一次是没法得到读到的数据,因此也无法确定写入是否正确,这个过程直如摸瞎。第二次是可以读数据了,但读回来的三个数据中第一个数有问题,但是用示波器看读入数据的波形,是正确的,但第一个数就是有问题。
第一个问题,当我遇到这个问题的时候,真的是一次次对比了华邦存储器手册的读写操作,又到网上搜索了相关的资料,然后又检查了自己配置的spi参数。先是发现自己gpio引脚配置有问题,只需把引脚设置成复用引脚就好了,不用开启复用时钟。然后又是发现spi未启动,于是使能spi外设。等配置好了引脚之后,又配置spi的相关参数,波特率分频,软片选,时钟采集设置(当开始传输时,是上升沿还是下降沿采集数据),时钟极性设置(不传输时时钟是高电平还是低电平)。都设置好了,我再开始写入数据,先从简单的开始,读取状态寄存器的值,这个读到了,确定可以写入数据并且可以收到数据了。然后开始读取某个存储地址的值。从这个时候开始就进入第二个困难了。
我发现读出的数据一点都不对,于是我开始检查我写入的数据是不是存在什么问题,一步一步的来,结合网上搜索到的资料程序(最后发现有些地方是对的,有些地方是错的),然后纠正,写使能之后要读状态寄存器判断是否可以写入操作了,整个写完动作完成后(片选引脚被拉高)