Bonjour,
je sais que ce sujet a été traité maintes et maintes fois, mais je ne trouve rien!!
le principe:
-J'ai un PIC18F6722 configuré en maitre:
-J'ai un PIC18F14K22 configuré en esclave:Code:SSP1CON1 = 0b00100001; SSP1STAT = 0b10000000;
Voila une ma transmission coté maitre:Code:SSPCON1 = 0b00100100; SSPSTAT = 0b00000000;
Et voila ma partie réception, qui ce trouve dans mon main():Code:SS_COMPIC = 1; // Désactivation Communication SPI -> µC Communication for(us=0; us<=1; us++); // Temporisation SS_COMPIC = 0; // Activation Communication SPI -> µC Communication for(us=0; us<=1; us++); // Temporisation ClearRegister = SSP1BUF; // Clear du bit BF / Vidage du Registe SSP1BUF = TypeDefaut; // Chargement dans le registre de la donnée a transmettre while (!SSP1STATbits.BF); // Attente de fin de transmission ClearRegister = SSP1BUF; // Clear du bit BF / Vidage du Registe for(us=0; us<=1; us++); // Temporisation SS_COMPIC = 1; // Désactivation Communication SPI -> µC Communication
J'ai visualisé a l'oscillo, j'ai bien mon SCK qui part de mon maitre, avec les données qui arrive sur SDI de mon µC Esclave...if (SS_COMPIC == 0) // Si sélection du µC de Communication pour liaison SPI
{
ClearRegister = SSPBUF; // Clear du bit BF / Vidage du Registe
while (!SSPSTATbits.BF); // Attente de fin de transmission
TypeDefautRegister = SSPBUF; // Récupération de la donnée
}
Mais ensuite... rien ne se passe!
Alors, ma routine de réception vous parait elle correcte?
Merci d'avance
-----