Afhankelijk van de compiler die je gebruikt, kan het gerust zijn dat er sofwarematige I²C geimplementeerd zit in de compiler zelf. Ook lijkt het me bijna onmogelijk dat ze geen voorbeeldje met I²C geven.
Ik heb in ASM al een volledige I²C master gemaakt, valt eigenlijk erg mee eenmaal je het door hebt. Als documentatie is de uitleg in de datasheet eigenlijk voldoende.
Ik heb zonder interrupts gewerkt, aangezien het gewoon master-slave was (beide PIC 16F88 trouwens), in je master verzend je iets, en controleer je of er telkens een ACK komt (zo niet, kan je nog een paar keer herproberen, niet werken komt eigenlijk nooit voor zolang je harware goed is (niet teveel weerstand in de lijn, als je enkel 1 master en 1 slave hebt moeten er geen serieweerstanden staan, kan een probleem zijn als er nog een hoogohmige switch tussenstaat).
Voor een antwoord, zend de master gewoon een adres, en wacht ie op zijn antwoord.
Met alle beveiligingen en detecties hoef je geen rekening te houden, en je hoeft maar te luisteren nadat je de slave hebt gevraagd om te antwoorden, erg simpel dus.
Na mijn examens (27 januari) ga ik trouwens met een dergerlijk chipje aan de slag om een terrariumcontroller te bouwen, ik ga em wel programmeren in basic, maar schema's en protocollen kan ik je dan ws wel mee helpen.