关于W25Q64

2019-08-14 03:38发布

我用的STM32F427,往W25Q64的0地址写入10个字节,再从0地址读出10个字节,用示波器抓波形,发现读出来的10个字节和写入的完全一样,没有问题,但是程序里面读出来的第一个字节始终为0xff,读出来的第二个字节是写入的第一个字节,读出的第三个字节是写入的第二个字节,不知道问题出在哪。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
骑着蜗牛追梦想
1楼-- · 2019-08-14 09:35
上周已经解决了,解决办法
u8 spi_read_write_byte(SPI_TypeDef * SPIX,u8 tx_data)
{                                          
        while (SPI_I2S_GetFlagStatus(SPIX, SPI_I2S_FLAG_TXE) == RESET){}
        while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == SET)
                SPI_I2S_ReceiveData(SPI2);

       
        SPI_I2S_SendData(SPIX, tx_data);
               
  while (SPI_I2S_GetFlagStatus(SPIX, SPI_I2S_FLAG_RXNE) == RESET){}

        return SPI_I2S_ReceiveData(SPIX);
}
旺仔奶豆
2楼-- · 2019-08-14 11:22
 精彩回答 2  元偷偷看……
骑着蜗牛追梦想
3楼-- · 2019-08-14 12:03
测试发现关中断读,就会出现上面的情况,开中断读写反而没问题
骑着蜗牛追梦想
4楼-- · 2019-08-14 12:36
旺仔奶豆 发表于 2017-9-1 14:30
那就应该是你的偏移弄错了 起始地址不对 写和读的地址应该有一个是错的

不是的
Acuity
5楼-- · 2019-08-14 14:39
第10个(地址9)字节数据呢?
huanghan
6楼-- · 2019-08-14 15:13
读数据存入缓存时,不要从buf[0]开始存,从buf[1]开始存,看看你改过这里没

一周热门 更多>