新唐MCU技术
直播中

刘超

7年用户 1468经验值
私信 关注
[问答]

M031SE使用SPI去读取W25Q128失败怎么解决?

请大佬帮忙看一下,硬件连接肯定没有问题,已经核对多次了,现在的目的是写入命令,读取出来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)

李飞

2023-8-21 11:32:20
采用手动片选
读取数据时,先查询bufer是否有数据,在进行读操作
举报

更多回帖

发帖
×
20
完善资料,
赚取积分