Bonjour à tous,
Alors voila je travaille actuellement sur un projet de bus CAN et je dois récupérer des données via le port SPI. Jusque là tout va bien.
J'arrive à mettre en oeuvre ce module et à transférer les données récupérés sur le bus CAN et tout marche bien. Seulement je faisais le test pour un seul registre de donnée. J'en ai maintenant 13 à recevoir et étant donné que je fais mon interruption sur le bit SSPIF qui indique que ma réception est terminé. Donc du coup quand je lance mon programme, il commence la réception des données n'importe ou, je ne sais pas quel trame je récupère en premier... Est ce que c'est la 3eme, la 8eme, enfin ça décale tout.
Alors l'idée c'était que je génère une interruption sur le slave select qui se met à 0 le temps de la réception de mes 13 registres de données, ce qui me synchroniserait sur la première donnée à recevoir mais j'ai tout essayé et je n'y arrive pas.
Quelqu'un aurait-il déjà travailler sur ce problème?
Merci d'avance.
Ps: Je travaille avec le PIC18F2585 et le compilateur C CC8E, je récupère les données via SPI d'un ATMEGA16
-----