jcky001 发表于 2023-2-21 11:00

w25q128读取设备ID时一直出现0xFFFFFF?


问:w25q128读取设备ID时一直出现0xFFFFFF?



uint32_t SPI_FLASH_ReadID(void)
{
      uint32_t Temp = 0, Temp0 = 0, Temp1 = 0, Temp2 = 0;

      /* 开始通讯:CS低电平 */
      FLASH_SPI_CS_LOW();

      /* 发送JEDEC指令,读取ID */
      SPI_FLASH_SendByte(W25X_JedecDeviceID);

      /* 读取一个字节数据 */
      Temp0 = SPI_FLASH_SendByte(0xFF);

      /* 读取一个字节数据 */
      Temp1 = SPI_FLASH_SendByte(0xFF);

      /* 读取一个字节数据 */
      Temp2 = SPI_FLASH_SendByte(0xFF);

      /* 停止通讯:CS高电平 */
      FLASH_SPI_CS_HIGH();

      /*把数据组合起来,作为函数的返回值*/
      Temp = (Temp0 << 16) | (Temp1 << 8) |Temp2;

      return Temp;
}

youtome 发表于 2023-3-3 20:48

spi初始化函数波特率预分频值配置为低

sheflynn 发表于 2023-3-3 22:12

是不是芯片处于正常工作状态            

elsaflower 发表于 2023-3-4 13:15

查看时序是否正确?            

juliestephen 发表于 2023-3-4 20:14

如果是时序问题的话,读取不同的寄存器时不太可能返回同一个值

jtracy3 发表于 2023-3-4 21:25

查手册分析一下吧。            

uiint 发表于 2023-3-4 22:23

最好仔细检查一下最基本的SPI的配置是否正确。

Stahan 发表于 2023-3-5 19:46

检查下时序是否正确

uiint 发表于 2023-3-7 20:26

是单片机有什么问题            

loutin 发表于 2023-3-10 10:33

这个只有id是不对的吗?            

软核硬核 发表于 2023-3-10 14:16

FF这种情况应该是没有读到数据。

Pretext 发表于 2023-3-10 14:17

要么地址,要么时序,肯定是有一个地方出问题了。

芯路例程 发表于 2023-3-10 14:17

那逻辑分析仪抓一下波形吧。

lzmm 发表于 2023-3-10 16:27

如果是时序问题的话,读取不同的寄存器时不太可能返回同一个值

ulystronglll 发表于 2023-3-10 17:29

查手册分析一下吧。            

mollylawrence 发表于 2023-3-10 17:38

hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;的原因,改成HIGH后就正常了。

sesefadou 发表于 2023-3-14 10:41

查看时序是否正确?            

mollylawrence 发表于 2023-3-18 11:28

说明引脚没有被拉低吧            

mikewalpole 发表于 2023-3-18 12:08

最好仔细检查一下最基本的SPI的配置是否正确。

earlmax 发表于 2023-3-18 14:45

https://blog.csdn.net/weixin_56657463/article/details/124618463
页: [1] 2 3 4 5
查看完整版本: w25q128读取设备ID时一直出现0xFFFFFF?