AtTiny85和Arduino(I2C)之间的简单通信

时间:2015-05-25 08:58:44

标签: arduino i2c attiny

您好我想通过I2C将arduino pro mini连接到我的AtTiny85。

arduino应该告诉attiny打开或关闭LED。 arduino设法在我的attiny上切换led,但它永远不会消失。

我不知道为什么?

这是我的主要和奴隶代码:

#include <Wire.h>
#define device (1)

void setup() {
  // put your setup code here, to run once:
  Wire.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
  Wire.beginTransmission(device);
  Wire.write(1);
  Wire.endTransmission();
  delay(2000);
  Wire.write(0);
  Wire.endTransmission();
  delay(2000);
}

从属:

#include <TinyWireS.h>
#include <usiTwiSlave.h>
#define output (4)
#define I2C_SLAVE_ADDR (1)


void setup() {
  // put your setup code here, to run once:
  TinyWireS.begin(I2C_SLAVE_ADDR);
  pinMode(output, OUTPUT);
}

volatile byte msg = 0;

void loop() {
  if(TinyWireS.available())
    msg = TinyWireS.receive();

  if(msg == 1)
    digitalWrite(output, HIGH);
  else if(msg == 0)
    digitalWrite(output, LOW);
  else
    msg = 0;
}

1 个答案:

答案 0 :(得分:2)

我终于找到了我的错误: 当我这样做时:Wire.write(0);我忘了用Wire.beginTransmission(device);

开始传输
相关问题