主题中讨论的其他器件:TM4C123、 ENERGIA
工具/软件:Code Composer Studio
您好!
我正在尝试使用 TM4C123G 仿真2个 i2c 从器件。 基本上、我需要能够在两个地址中接收 i2c 作为从器件。
因此、从我作为 i2c 主器件的 rasberry PI、我连接到 SCL2/SCL3和 sda2/sda3、并连接10K 上拉电阻器。
以下代码部分工作。 i2cdetect 将检测0x40和0x42上的两个器件、但您只能写入0x42 -如果您写入0x40、则会崩溃。 如果代码被注释掉以一次启用一个 i2c 总线、它将适用于任何一个 i2c 总线。 我使用了10K 电阻器、这可能是问题所在。
但是、如果 tm4c 有双地址方案、那将会很好、所以我不会再花这些额外的引脚。
任何想法/帮助/推荐都非常感谢。
此致、
C.A.
#include void setup(){ Wire.setModule(2); Wire.onReceive(receiveEvent2); Wire.begin(0x40); Wire.setModule(3); Wire.onReceive(receiveEvent3); Wire.begin(0x42); Serial.begin(230400); Serial.println("init"); } void loop(){ } void receiveEvent2(int n){ Wire.setModule(2); Serial.print("2:\t"); while (0 < Wire.available ()){ int c = Wire.read(); serial.print(c); serial.print ('\t'); } serial.println (); } void receiveEvent3 (int n){ Wire.setModule(3); serial.print ("3:\t"); while (0 < Wire.available ()){ int c = Wire.read(); serial.print(c); serial.print ('\t'); } serial.println (); }