小卡拉米000

  • 2024-03-26
  • 回复了主题帖: gpio模拟iic,scl有异常波动

    小卡拉米000 发表于 2024-3-26 09:58 有没有懂的快来帮帮我 解决了,谢谢

  • 回复了主题帖: gpio模拟iic,scl有异常波动

    有没有懂的快来帮帮我

  • 发表了主题帖: gpio模拟iic,scl有异常波动

    void   gpioWriteBit(INT8U pin, INT8U val)   //val决定pin的高低电平 {     if(val==0){         gpio_low(pin);     }else{         gpio_high(pin);     }          return; }   INT8U i;     for (i = 0; i < 8; i++) // writes byte, one bit at a time     {         if(val & 0x80) {//字节高位先发送             gpioWriteBit(SDA_PIN,1);   //送数据到数据线上            }else{             gpioWriteBit(SDA_PIN,0);         }         val <<= 1;             DelayUs(HOLD_TIME);                              gpioWriteBit(SCL_PIN,1);      //置时钟信号为高电平,使数据有效                DelayUs(HOLD_TIME);                            gpioWriteBit(SCL_PIN,0);                //DelayUs(HOLD_TIME);                }     以上为写函数,执行写时偶尔会有100ns波动       void   gpioI2cAck(void)    {              ENABLE_GPIO_OUTPUT(SDA_PIN);     gpioWriteBit(SDA_PIN, 1);     DelayUs(HOLD_TIME);     gpioWriteBit(SCL_PIN,1);           DelayUs(HOLD_TIME);                     gpioWriteBit(SDA_PIN,0);              DelayUs(HOLD_TIME);                     gpioWriteBit(SCL_PIN,0);           DelayUs(HOLD_TIME);                 //DelayUs(WAIT_W_R_NEXT_BYTE);//读完一个字节至少等待半个周期     return; }   该函数为主机接到数据之后发送ack,但是ack一直发不出去,请问这两个问题是什么原因    

最近访客

现在还没有访客

< 1/0 >

统计信息

已有--人来访过

  • 芯积分:19
  • 好友:--
  • 主题:1
  • 回复:2

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言