Ne Abstimmumg der Wartezeit mit der Kommunikationsgeschwindigkeit hatte ich beim I²C schon versucht - die oben erwähnte Warteschleife mithilfe des TWBR dimensioniert. Da ja Störungen nur sehr schwer realistisch zu simulieren sind, weiß ich nicht ob das besser ist.... UART ... oft gewartet ... könnte man ... Delay ... über die Baudrate ausrechnen ...
Dummerweise hatte ich mich sowieso zu früh über meine for(..-Schleifenlösung gefreut.Das würde ich auch so sehen. Aber (wie gesagt, ich hatte zu schnell meine Deadlocklösung gepostet) Atmel siehts anders, Beispiel Wait for TWINT Flag set :... Auf eine Statusänderung ohne Timeout zu warten, ist eigentlich ein grober Programmierfehler ...Und ich denke, dass diese Leute schon deutlich besser C können als ich. Dumm! Nun glaube ich die Lösung zum Deadlock bei I²C eher in der Art wie Robert es vorschlägt - einen Störfall in dieser Umgebung besser mit einer externen Maßnahme, z.B. einem äußeren Limit, abfangen . . .Zitat von Dokumentation 8272D ... 05/12 ... mega164A...1284/P, Seite 220, Mitte, C example
Schade, der Schnellschuss war zu früh, läuft u.a. auf meinen eigenen Ratschlag raus: rtfm. Und eben VORHER lesen, dann posten.
Lesezeichen