Hanno, ich glaube nicht.
Du hast zwei Optionen:
1. Du nimmst eine fertige Bibliothek und beschränkst dich auf die Verwendung dieser (es gibt einige fertige Bibliotheken). Wenn du diesen Weg einschlägst, bekommst du sicherlich Hilfe wenn du die verwendete Bibliothek angibst.
2. Du schlägst den interessanteren aber schwereren Weg ein und versuchst das Protokoll selbst zu implementieren. Im Endeffekt besteht ein großteil der Ansteuerung nur darin, Bits zu setzen/löschen, Werte in Register zu schubsen oder aus Registern auszulesen und auszwerten.

Die größte Schwierigkeit ist nicht, das ganze in C zu "gießen". Die größte Schwierigkeit besteht vermutlich eher in der berücksichtigung der Feinheiten des Protokolls. Und wenn du auf die Implementierung von Corner-Cases wie Multi-Master verzichtest, sollte das relativ einfach sein.

mfG
Markus