Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Module SPI du PIC



  1. #1
    Lasta

    Module SPI du PIC


    ------

    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

    -----

  2. Publicité
  3. #2
    maximilien

    Re : Module SPI du PIC

    Je ne suis pas du tout spécialiste du CAN mais le problème ne me semble pas bien compliqué et peut sans doute se régler simplement en reconnaissant la transmission du premier registre.
    N'est il pas contant?

    Une fois ce 1er registre détecté, il suffit de compter le nombre d'interruption pour savoir quel registre tu est en train de recevoir.

    Essayes de ne pas écrire comme tu parles.

  4. #3
    Lasta

    Re : Module SPI du PIC

    Le problème ne vient pas du CAN.
    Mon problème c'est de détecter le premier registre sinon le système de comptage je l'ai géré c'est pas un problème.
    Mais c'est juste que je n'arrive pas à détecter ce premier registre...
    Je voulais m'appuyer sur le slave select mais apparemment sa valeur n'est pas lisible...

  5. #4
    Lasta

    Re : Module SPI du PIC

    J'ai trouvé le problème.
    Lors de l'envoi d'un seul byte, je vois sur ma ligne SDI, la réception de 9bytes et je ne sais pas à quoi ils correspondent (initialisation de la communication?). Les 8premiers bytes se situe hors du slave select mais je peux quand même les lire. Par contre mon 9eme byte est celui que je dois lire et se situe dans le slave select (passage à 0). Donc ma question est comment puis-je générer une interruption en me servant du changement d'état du slave select. J'ai tout essayé et je n'y arrive pas. Je crois que ma seul chance de réussir est de pouvoir générer une interruption lorsque le slave select passe à 0 (début de l'envoi de données) mais je n'y arrive pas du tout...

    Merci d'avance!

  6. A voir en vidéo sur Futura

Discussions similaires

  1. Utilisation du module ADC avec le module PWM du PIC
    Par heri91 dans le forum Électronique
    Réponses: 8
    Dernier message: 25/09/2009, 12h40
  2. pic 16f88 et SPI
    Par SkySaxon dans le forum Électronique
    Réponses: 21
    Dernier message: 17/07/2009, 08h14
  3. PIC 18f et mémoire SPI
    Par kyle722 dans le forum Électronique
    Réponses: 2
    Dernier message: 02/04/2009, 09h43
  4. module espion SPI
    Par mattou dans le forum Électronique
    Réponses: 3
    Dernier message: 09/07/2008, 10h45
  5. SPI sur PIC 16F876
    Par noisyboxes dans le forum Électronique
    Réponses: 6
    Dernier message: 31/12/2007, 14h03
Découvrez nos comparatifs produits sur l'informatique et les technologies.