Déjà si ça ça peut t'aider
MSSP ( master synchronus serial port )
SSPSR (Synchronus Serial Port Shift Register)registre de décalage logique pas directement accessible qui permet d'extraire les bytes ( ensemble de 8 bits ) entrant ou sortant afin d'en garantir l'intégrité tout le temps même quand le buffer est occupé ( cas de lecture du buffer )
SSPBUF (Synchronus Serial Port BUFfer) registre du buffeur qui stock les bytes jusqu'à ce qu'on les lise
MSb first => Most Significant Byte first => enregistrement du byte de poids fort en premier ( quand tu as des chiffres sur 16 bits => 2 bytes )
BF => Buffer Full : bit qui passe à 1 quand le buffer est plein ! ( 8 bits reçu = un byte ) c'est le bit 0 du registre SSPSTAT ( Synchronus Serial Port STATus )
SSPIF => Synchronus Serial Port Interrupt flag : bit d'interruption qui passe à 1 quand quelque chose de notable est arrivé => permet de gérer les entrées en interruptions par type
Le fait d'avoir un double stockage dans SSPSR puis SSPBUF permet de "stocker un byte sur chaque registre" du coup un byte envoyé peut être reçut par SSPSR alors que le microcontrôleur n'a toujours pas lu le byte précédent qui lui est en attendant stocké sur SSPBUF
Bon je te laisse continuer là j'ai pas plus de temps à t'accorderet puis faut que je te laisse chercher aussi un peu car c'est comme ça qu'on apprend ! Mais je vais surement me reconnecter demain ou après demain

Si dans deux jours j'ai pas donné plus d'info n'hésite pas à reposter ! Je lis tous les messages sur ce forum ( même si je ne prend malheureusement le temps de toujours répondre à tout le monde ... )
Bon courage pour la suite