Hallo,

Du verwendest in der Sub einen ganzen schwung lokale Variablen, ohne aber softstack und Frame zu erhöhen.

Du verwendest die für Hardware-I2C vorgesehen Pins, dann könntest du die Lib einbinden, das auch die Hardware (TWI) dafür verwendet wird.

Mit den Werten etwas probieren bis es geht, evtl. den Platz der Variablen berechnen:
Code:
$hwstack = 32
$framesize = 40
$swstack = 40

$lib "i2c_twi.lbx"
Config Twi = 100000    ' oder 400000