Hallo, ich lese über einen 2. Atmega-Prozessor von einem myAVR-Ethernet das shared-RAM aus, das funktioniert so:
1 | i2cstart |
2 | I2cwbyte 0 |
3 | Print "i2cwbyte 0" |
4 | I2cstart |
5 | Print "i2cstart" |
6 | I2cwbyte Eth_read |
7 | Print "Eth_read" |
8 | I2crbyte I , Ack |
9 | Print "1-Ack";i |
10 | i2crybte I,nack |
11 | I2cstop |
Funktioniert alles soweit problemlos, jetzt drücke ich den Reset-Taster beim myAvr-Board (was in etwa einem Absturz simuliert) und dann bleibt mein Programm beim I2Crbyte,Ack hängen und wartet ewig... Mit Hilfe eines Watchdog-Timers kann ich einen Reset erzwingen, aber gibts nicht eine andere Möglichkeit zu erkennen, dass I2Crbyte ewig wartet