用stc
单片机读写w25q64
void SPI_Flash_Init(void)
{
P2M0 =0x00;
P2M1 =0x00;
ACC = P_SW1; //可用于测试U7,U7使用的是第二组SPI控制Flash
ACC &= ~(SPI_S0 | SPI_S1); //SPI_S0=1 SPI_S1=0
ACC |= SPI_S0; //(P2.4/SS_2, P2.3/MOSI_2, P2.2/MISO_2, P2.1/SCLK_2)
_SW1 = ACC;
SPCTL = 0xd0;//设置1101,0000
SPSTAT = 0xc0;
}
unsigned char SPI2_ReadWriteByte(unsigned char dat)
{
SPDAT = dat;//开始传输
while(!(SPSTAT&0x80)); // 等待SPIF = 1,传输完成
dat= SPDAT;
SPSTAT = 0xc0;
return dat;
}
读id为ee16不是ef16
读状态为0
擦除后读为0xff
写入后读出 为乱码。
请教这事为何?