普通IO口模拟SPI读写flash,求指点问题在哪里。

2019-07-21 08:23发布

写不进去值,返回值一直都是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;   //°&#209;×&#238;&#184;&#223;&#206;&#187;í&#198;μ&#244;£&#172;òò&#206;aò&#209;&#190;-D′&#189;&#248;è¥á&#203;
                 delay_us(5);
                 SPI_FLASH_SCLK=1; //à-&#184;&#223;ê±&#214;ó£&#172;±£3&#214;êy&#190;Yμ&#196;&#206;è&#182;¨D&#212;&#161;£
                 delay_us(5);
               
                 
                 num=num<<1;
                 if(SPI_FLASH_SDI==1)
                 num++;
                 SPI_FLASH_SCLK=0;     //ê±&#214;ó&#212;ù′&#206;à-μí£&#172;·&#197;μ&#189;×&#238;oó&#195;&#230;à′
                 delay_ms(5);
   }

  return num;
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
aozima
1楼-- · 2019-07-22 11:04
调这种总线,如果有问题,第一步就是逻辑分析仪架上。
wsy54
2楼-- · 2019-07-22 13:12
你延时太多了
a3748622
3楼-- · 2019-07-22 14:41
 精彩回答 2  元偷偷看……

一周热门 更多>