完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请大佬帮忙看一下,硬件连接肯定没有问题,已经核对多次了,现在的目的是写入命令,读取出来Flash W25Q128的型号
命令:{0x90,0x00,0x00,0x00,0xFF,0xFF} 返回:0xEF17 代码如下: uint16_t W25QXX_ReadIDTemp(void) { uint8_t TxData[6] = {0x90,0x00,0x00,0x00,0xFF,0xfF}; uint8_t RXData[20] = {0x00}; uint8_t Count = 0; for(Count =0;Count<6;Count++) { SPI_WRITE_TX(SPI0, TxData[Count]); /* Check SPI0 busy status 等待发送完*/ while(SPI_IS_BUSY(SPI0)); RXData[Count] = SPI_READ_RX(SPI0); printf("返回值第%d为:0x%x\n",Count,RXData[Count]); } return (RXData[4]<<8 | RXData[5]); } 目前读出来的值全都是0xFF.请大佬帮忙看一下,谢谢! |
|
相关推荐
1个回答
|
|
p; halSpiWriteRead(W25QXX_SPI, TxData, RXData, 6, HAL_SPI_CS_ACTIVE_LOW); while(RXData[Count]!=0xEF || RXData[Count+1]!=0x17){ Count++; if(Count>20) return 0;/*读取错误*/ } return ((RXData[Count+2] << 8) | RXData[Count+3]);}在使用SPI读取时,需要注意的几个点:1.需要在初始化SPI时配置好SPI的模式(CPOL和CPHA),以及时钟分频等参数。2.在读取时,需要等待W25QXX准备好数据再读取,可以通过检测读取到的数据是否为0xefff或者等待一定时间来判断准备好数据。3.使用SPI的时序也需要注意,发送命令和接收数据的时序需要保持一致。
|
|
|
|
只有小组成员才能发言,加入小组>>
882 浏览 1 评论
2278 浏览 5 评论
2590 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2397 浏览 6 评论
2300 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
445浏览 9评论
456浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
560浏览 6评论
435浏览 5评论
469浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 11:30 , Processed in 1.051282 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191