完善资料让更多小伙伴认识你,还能领取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的时序也需要注意,发送命令和接收数据的时序需要保持一致。
|
|
|
|
只有小组成员才能发言,加入小组>>
490 浏览 0 评论
1030 浏览 1 评论
2411 浏览 5 评论
2732 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2550 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
585浏览 9评论
587浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
695浏览 6评论
563浏览 5评论
602浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 04:48 , Processed in 0.884994 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号