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