使用 原子的代码,更改后读取w25q16芯片ID,但是读出的数据是ffef14,多出了一个ff,请教大家是怎么回事
原子源程序:
u16 W25QXX_ReadID(void)
{
u16 Temp = 0;
W25QXX_CS=0;
SPI5_ReadWriteByte(0x90);//·¢Ëí¶áè¡IDÃüáî
SPI5_ReadWriteByte(0x00);
SPI5_ReadWriteByte(0x00);
SPI5_ReadWriteByte(0x00);
Temp|=SPI5_ReadWriteByte(0xFF)<<8;
Temp|=SPI5_ReadWriteByte(0xFF);
W25QXX_CS=1;
return Temp;
}
我的源程序:
u16 w25qxx_read_id(void)//读flash ID
{
w25qxx_enable();
u16 temp[3];
spi1_ReadWriteByte(0x90);
spi1_ReadWriteByte(0x00);
spi1_ReadWriteByte(0x00);
spi1_ReadWriteByte(0x00);
temp[0]=spi1_ReadWriteByte(0xFF);
temp[1]=spi1_ReadWriteByte(0xFF);
temp[2]=spi1_ReadWriteByte(0xFF);
w25qxx_disable();
return temp[0]<<16|temp[1]<<8|temp[2];//成功的
//return temp[0]<<8|temp[1]//失败的,读出是ffef
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>