Hallo,

nein, ich habe nur den einen Arduino. Ein Oszi habe ich nicht. 'Nur' ein LA. Die Beispielcodes der Arduino IDE 'bleiben am Leben.' So dass ich darauf aufbauen nochmal was Neues erstelle. Allerdings nicht mehr heute.

Folgendes läuft schon einige Zeit durch:

MEGA:
Code:
// Wire Slave Receiver
// by Nicholas Zambetti <http://www.zambetti.com>

// Demonstrates use of the Wire library
// Receives data as an I2C/TWI slave device
// Refer to the "Wire Master Writer" example for use with this

// Created 29 March 2006

// This example code is in the public domain.


#include <Wire.h>

void setup() {
  Wire.begin(4);                // join I2C bus with address #8
  Wire.onReceive(receiveEvent); // register event
  Serial.begin(57600);           // start serial for output
}

void loop() {
  delay(100);
}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany) {
  while (1 < Wire.available()) { // loop through all but the last
    char c = Wire.read(); // receive byte as a character
    Serial.print(c);         // print the character
  }
  int x = Wire.read();    // receive byte as an integer
  Serial.println(x);         // print the integer
}
Raspi: (Bash-Script)
Code:
#!/bin/bash
#
#

d=0;
while [ true ];do
 i2cset -y 1 0x04 3 $d
 d=$(($d+1))
if [ $d -gt 255 ]; then
   d=0
fi
sleep 0.005
done
Wobei gelegentlich 'write Failed' ausgegeben wird. Bei 10 ms Pausen war das nicht so.