为什么根据文档中的潘多拉 flash 驱动代码和网上的一些例程,都无法对挂载的W25Q64 SPI_FLASH进行写入操作,请问这是硬件的问题吗?
自行排查时发现 void w25qxx_enter_qspi_mode(struct rt_qspi_device *device){}函数中 status = w25qxx_read_status_register2(device); 这行代码执行后 status 的值为2,导致下面的if (!(status & 0x02)){...}也无法执行,也就导致无法没有执行写使能操作(好像是这样)。
如果不是硬件的问题,要怎么样解决这个问题呢?
追朔w25qxx_read_status_register2(device);这个代码发现里面莫名其妙定义了一个char status传进了rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);//读取状态寄存器,然后就莫名其妙的status值变成了2,返回出去了。至于为什么说莫名其妙,就是在rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);//读取状态寄存器这个函数中,貌似都没对status进行什么操作。
更多回帖