写不进去值,返回值一直都是FF。
u8 Spi_Write_Byte(u8 data)
{
u8 i,num=0;
for(i=0;i<8;i++)
{
SPI_FLASH_SCLK=0;
if(data&0x80)
SPI_FLASH_SDO=1;
else
SPI_FLASH_SDO=0;
data=data<<1; //°Ñ×î¸ßλíÆμô£¬òòÎaòѾ-D′½øè¥áË
delay_us(5);
SPI_FLASH_SCLK=1; //à-¸ßê±Ö󣬱£3Öêy¾YμÄÎ趨DÔ¡£
delay_us(5);
num=num<<1;
if(SPI_FLASH_SDI==1)
num++;
SPI_FLASH_SCLK=0; //ê±ÖóÔù′Îà-μí£¬·Åμ½×îoóÃæà′
delay_ms(5);
}
return num;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2、时钟线、片选线、sdo线设置为推挽输出;
3、sdi线设置为浮空输入。
一周热门 更多>