Hallo Ronny,

Das Programm kommt durch denn Loop nicht zu dem Schritt das ccrp5.Lon ( 1 ) auszuführen.
... stimmt.
Das loop {} ist dazu gedacht, den thread main zu terminieren, damit er nicht von vorn anfängt.
In Funktionen hat das nichts zu suchen, weil die Programmabfolge ja dadurch geblockt würde.
Also so:
Code:
thread main 
{ 
// Prüfen ob CCRP5 erfolgreich initialisiert wurde 
if ( Initialize ( ) == 1 ) 
{ 
lcd ( ); 
ccrp5.Lon ( 1 ); 
}

// Hier weiterer Programmcode!

loop {}; // Hier bleibt das Programm stehen und braucht RESET, um neu zu starten
}
Aus der Funktion lcd muss das dann wieder raus.

Gruß Dirk