1

こんにちは、arduino pro mini を I2C 経由で 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;
}
4

1 に答える 1

2

私は最終的に私の間違いを見つけました:私がしたとき:Wire.write(0);私は送信を開始するのを忘れました:Wire.beginTransmission(device);

于 2015-05-25T09:24:07.430 に答える