( VaZso | 2018. 07. 20., p – 00:43 )

Az I2C meg az SPI csak egy interface, gyakorlatilag _bármi_ lehet mögötte.
Nem határoz meg gyakorlatilag semmit a feladat lényegi részéből, ahogyan önmagában az UART, RS232 vagy RS485 interface sem mond semmit arról, ami mögötte van.
Ebből a szempontból nem számít, mennyire gyakoriak, mert csak a kommunikáció felületét adják (vannak paramétereik és egyéb jellemzőik, de mögötte egy valós eszköz van, amivel beszélgetni szeretnél, és itt most ez a lényeg).

Nem valószínű, hogy kifejezetten egy adott kijelzőhöz vagy más szenzorhoz találnál előre megírt tesztkörnyezetet, és értelme sem sok van.
Ha feldolgozó kódot tesztelni akarsz, akkor generálsz hozzá adatokat vagy rögzíted és beadagolod neki, ezzel nincs problémám.

...de, ha ezen a teszten túl vagy, akkor valós hardveren kell beszélgetni, mert ott fognak előjönni az esetleges problémák is.
Nem idealizálni kell a hardvert szoftverré, mert nem ettől fog jól működni (a hardver nem szoftver, nem úgy viselkedik).

Még egyszer: rendben van az, hogy tesztelem a szoftvert, nincs ezzel gond.
A feladat fontos része viszont a hardver tesztelése is... és fogadjuk el, hogy adott esetben a kijelzőn akarom látni az eredményt, mert nem a szoftveres teszteken fog kiderülni, ha nem bírja sebességet, időzítéseket, gyakori kommunikációt, külső zavarokat, beállításokat (inicializálást), elforgatást, saját display RAM-kezelését.
...de lehet adott szenzor kommunikációs sebesség, pollozás miatt is zajos, lehet, hogy módosítani kell hardveres szűrésen, stb.

A fenti példában hozott kijelzővel az egyik probléma, hogy sokféle létezik, részben hasonló kezelésekkel, kisebb-nagyobb inkompatibilitásokkal.
...és a kijelzőnek (vagy bármi másnak) kell jól működnie, nem csak a teszteknek.
...és vannak olyan részletek is, amik nem feltétlen vannak konkrétan benne a specifikációban...

Egyébiránt fel lehet építeni egy programot úgy is, hogy senki sem akarjon hozzányúlni, és úgy is, hogy jól érthető legyen.
Mikrokontrolleren is, villamosmérnök által is.

Másfelől meg el kell keserítselek, de nem csak az egyik fél ragaszkodik minden áron ahhoz, hogy ő jól tudja, hogy hogyan kell csinálni, és a másik ismeretei nem applikálhatóak.
A másik fél is ezt teszi, és egyik végletnek sincs igaza.

A fenti példát csak azért írtam le, hogy megpróbáljak kisebb rálátást adni pár dologra, de nem sikerült.
Ami valószínűleg nem ment át: a hardver nem szoftver, sohasem fog olyan mértékben egzaktul működni, mint egy tesztelt és ellenőrzött kód _önmagában_.