用28335的IIC外接AT24C512对其进行读取

2019-07-15 19:19发布

SDA口为GpioDataRegs.GPBDAT.bit.GPIO32,但是搞不懂为什么进来的数据全是1,应该是0和1组成的二进制码,是我哪里没有设置对还是?
unsigned char I2C_DATA_IN(void)
{
  unsigned char i,c,d;

  switch_sda_in();
  c=0;
  DSP28x_usDelay(10000);
  for(i=0;i<8;i++)
  {
          d=GpioDataRegs.GPBDAT.bit.GPIO32;   //SDA
          d=d|0x01;    // 输入1位
          c=c|d;
          c=c<<1;
  }

//  c=GpioDataRegs.GPBDAT.bit.GPIO32;   //SDA     28335为32位   //c为8位数据
  c=c&0x08;
  if(c==0x08)            //一直在发送的时候c==0x08;发送完c==0;
    {
    c=0x1;
    }
   else
    {
    c=0;
    }
  return(c);

}
这是部分程序

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
kindkink
1楼-- · 2019-07-15 21:15
 精彩回答 2  元偷偷看……
zhangb-49520331
2楼-- · 2019-07-15 21:35
谢谢楼主、跟着楼主学28335、

一周热门 更多>