I2C无法启动

我正在使用stm8s控制器和SDCC编译器。我正在将基于SD130S7 I 2 C的RTC与控制器连接。我在交流过程中遇到问题。我认为问题是我 2 C本身未启动。

我正在使用STM8S103开发板。

我检查了逻辑分析仪,发现SDA引脚上只有一个脉冲。

我很困惑SDA如何产生脉冲而SCL没有脉冲。 (由于SCL是时钟,因此应该首先显示时钟)。

void init_i2c_master(void)
{

    CLK_PCKENR1 |= 0x01;    //enable i2c clocks

    I2C_CR1 &= ~(0x01);     //Disable the i2c before configuration starts
    I2C_FREQR = 16;//  Set the internal clock 16 frequency (MHz).
    I2C_OARH = 0xC0;        //set 7 bit addressing mode
    I2C_TRISER = 16 + 1;
    I2C_CCRL = (uint8_t)(16*5);
    I2C_CCRH = 0;
    I2C_CR1 |= 0x01;        //enable i2c peripheral
    I2C_CR2 |= 0x04;
    I2C_CR2 &= ~0x08;
    I2C_ITR |= (0x01 | 0x02);
}
fanlianhou 回答:I2C无法启动

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3130074.html

大家都在问