24C02软件模拟程序问题求助!!

2019-07-20 18:58发布

  STM32F4 软件模拟IIC程序,24C02可以读出数据 ,可判断函数Writebyte()判断没有问题,但写入数据失败,怎么调试就是写入不了!是不是函数 WriteOnebyte()有问题?                       可我严格按照24C02的写时序图操作啊!哪位深入研究过的帮我分析下,谢谢!
u8 Writebyte(u8 data){
     u8 i;
           SetOutput();
            IIC_SDA=1;
            delay_us(3);
              IIC_SCL=0;
              delay_us(2);
           for(i=0;i<8;i++)
            {
                                  IIC_SDA=(data&0x80)>>7;
                                  data<<=1;
                                  delay_us(2);
                                  IIC_SCL=1;
                                  delay_us(15);
                                   IIC_SCL=0;
                                  delay_us(2);
                        }
                         return WaiteAck();               
}
void WriteOnebyte(u8 data_dres,u8 data)
{
      Start();
                  Writebyte(0xA0);
           
                  Writebyte(data_dres);
           
                  Writebyte(data);
          
            Stop();
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。