Schon mal versucht, nach dem Reset nen delay einzubauen, um dem LCD Zeit für den Startup zu geben? 100ms oder so.
Zum Code:
-- die double-Arithmetik ist überflüssig und dafür _viel_ zu aufwändig und teuer
-- Verwendung von b_ifset wird dir einen Compile-Fehler bringen
-- warum kopierst du Funktionen aus der lib??? Die bekommst du mit #include <avr/delay.h> Die stehen auch nicht in einer Lib, sonder sind als static inline implementiert.
Lesezeichen