I2C的通信速率怎么调整?
我现在用的LEONARDO和UNO,它们之间通过SCL SDA连接。 LEONARDO给UNOWire.wirte()数据过去操作UNO连接的一个IC的寄存器。
UNO直接操作外部IC的寄存器的时候,工作正常。
LEONARDO -- -> I2C ---> UNO ---> 外部IC寄存器,如果是这样来做,外部IC的操作速度会有非常小的卡顿,达不到操作的速度要求。
所以我想有没有可以提高I2C的通信速率的方法? ARDUINO里I2C默认的通信速率是多少? 在 Wire 庫的 twi.h 中 (<IDE>\hardware\arduino\avr\libraries\Wire\src\utility), 有以下的設定:
#ifndef TWI_FREQ
#define TWI_FREQ 100000L
#endif
100000L 應該是 100KHz 吧.
我自己沒試過修改, 不知是否有效.
修改原裝庫的設定, 可能會對其他 i2c 設備都有影響, 要小心點, bus 上所以設備應該要一樣的吧.
页:
[1]