写不进去值,返回值一直都是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;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
u8 Spi_ReadWrite_Byte(u8 data) //SPI读写函数,data为要发送数据 。需要读时data任意值即可
{
u8 i,tmp=0; SPI_FLASH_SDI =INPUT; //SDI配置成输入模式
for(i=0x80;i!=0;i>>=1)
{
SPI_FLASH_SCLK=0;
SPI_FLASH_SDO=(data&i)?1:0;
SPI_FLASH_SCLK=1;delay_us(1);
if(SPI_FLASH_SDI)tmp|=i;
return tmp;
}
一周热门 更多>