将软件模拟I2C和硬件I2C,分别做对比,其实还可以发现,硬件I2C有更大优势。
优势1:硬件I2C的相关参数配置比较灵活,尤其是时钟速率,想改大就改大,一般模式和快速模式,爱改就改,有了cubeMx辅助开发,随便改;
优势2:硬件i2c可以玩DMA、收发中断等高级玩法,可以非阻塞,可以降低CPU负担;软件模拟I2C没法比;
优势3:通过下图逻辑分析仪的时序分析,不难看出,模拟在ACK/NAK总是拖泥带水的,浪费时间。硬件I2C则干净利落。相同的7个字节数据,采用模拟I2C耗时29ms;而使用硬件I