Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:


+ Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 15 sur 22

pic 16f88 et SPI

  1. SkySaxon

    Date d'inscription
    novembre 2006
    Âge
    29
    Messages
    10

    Question pic 16f88 et SPI

    Bonjour a tous,

    J'utilise le 16f88 pour une petite interface SPI, mais un probleme se pose que je ne parviens pas a resoudre. Le bit CKE (SPI Clock Edge), qu'il soit a 1 ou a 0, ca ne change absolument rien au diagram. Je veux que la donnee a transmettre soit disponible sur le front montant de l'horloge, et l'etat IDLE de la clock doit etre bas. J'ai donc CKP = 0 et CKE = 1. Mais la donnee change d'etat exactement en meme temps que le front montant de la clock, et ce quelque soit l'etat de CKE...

    Franchement ca fait deux jours que je suis dessus a lire et relire le datasheet, mais pas moyen... Si l'un d'entre vous a une idee...
     


    • Publicité




      Poursuivez votre recherche
      Recherche personnalisée

  2. gcortex

    Date d'inscription
    juin 2006
    Localisation
    59
    Âge
    35
    Messages
    10 772

    Re : pic 16f88 et SPI

     

  3. SkySaxon

    Date d'inscription
    novembre 2006
    Âge
    29
    Messages
    10

    Re : pic 16f88 et SPI

    OK merci de la reponse, finalement j'ai trouve tout seul. Je passe l'info pour qui ca interesserait:
    Erreur de debutant:
    Le registre SSPSTAT est en BANK 1 et le registre SSPCON est en BANK 0. Comme ils sont expliques a la suite dans le datasheet, j'ai pas fait gaffe a ca, mais il faut bien se positionner...
    OUAIS!!! Youpi!!
     

  4. pont2

    Date d'inscription
    mai 2009
    Messages
    381

    Re : pic 16f88 et SPI

    Bonjour,

    Peux-tu me passer ta ligne de configuration sur PIC16F88? J'ai un pb avec la mienne et je ne vois pas ce que c'est.
    Merci
     

  5. pont2

    Date d'inscription
    mai 2009
    Messages
    381

    Re : pic 16f88 et SPI

    Bonjour,

    Et bien merci pour la non-réponse sur la ligne de configuration du PIC16F88, heureusement qu'un autre copain sur un autre forum m'a donné la réponse.
    pont
     

  6. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    10 783

    Re : pic 16f88 et SPI

    Son dernier message datant de plus de 2 ans, ça ne m'étonne pas trop qu'il n'ait pas répondu
     


    • Publicité



  7. pont2

    Date d'inscription
    mai 2009
    Messages
    381

    Re : pic 16f88 et SPI

    Citation Envoyé par Jack Voir le message
    Son dernier message datant de plus de 2 ans, ça ne m'étonne pas trop qu'il n'ait pas répondu
    Merci Jack de votre sollicitude, mais quel manque de constance de ce correspondant, j'espère bien que dans deux ans je serai encore là, (si un modérateur ne m'a pas jeté?) Et justement, je voulais vous demander quelque chose, mais je ne rappelle plus quoi. Et je vous suis toujours reconnaissant de m'avoir gentiment accueilli sur ce forum. Ah, je crois que c'est l'histoire des 2 minutes pendant lesquelles on peut corriger son texte lesquelles sont souvent mangées ou écourtées par les difficultés de transmission des serveurs des fournisseurs d'accès, serait-il possible que vous portiez ce temps à 30minutes, (sur certains forums il y a un temps d'une heure, sauf réponse intermédiaire).?
    Merci
    pont
     

  8. MacArell

    Date d'inscription
    juillet 2009
    Messages
    10

    Re : pic 16f88 et SPI

    Bonjour, pour info, peut-on m'expliquer le positionnement par rapport aux BANK:
    Le registre SSPSTAT est en BANK 1 et le registre SSPCON est en BANK 0. Comme ils sont expliques a la suite dans le datasheet, j'ai pas fait gaffe a ca, mais il faut bien se positionner...
    pour ma part j'essaye depuis une semaine de faire marcher ma liaison SPI entre mon PIC 18F24K20 (maitre donc) et mon accéléromètre MMA7455

    PIC ---> MMA7455L
    SCL (14) --> SCL (14)
    SDO (16) --> SDO (12)
    SDA (15) --> SDA (13)
    RB3 (24) --> CS (7)

    Voici mon code pour l'init de la liaison:
    Code:
    void initialise_SPI()
    {
       SSPEN = 0;            //Enable bit must be cleared to configure SPI
       
       TRISC = TRISC | 0b00010000;   //Setup the TRIS register
       
       CKP = 0;            //IDLE state for clock is a low level
       CKE = 1;            //Output data changes on clock transition from active to idle
       SMP = 0;            //Input data sampled at the middle of data output time
       
       SSPCON1 = SSPCON1 | 0b00000010;   //Speed: Fosc/64
       
       SSPEN = 1;            //Enable the serial port 
    }
    et le code pour la lecture (à une adresse donnée) et l'écriture d'un bit à une adresse donnée:
    Code:
    //SPI write command function
    void spi_w(unsigned char reg, unsigned char data){
      unsigned char x;
      CS=lo;
      SSPBUF=(((reg &0x3F)<<1)|0x80); 
      while (!SSPIF);  //wait for transmission complete
      x=SSPBUF;  //dummy read
      SSPBUF=data;
      while (!SSPIF);  //wait for transmission complete
      x=SSPBUF;
      CS=hi;
    }
    
    //SPI read function
    unsigned char spi_r(unsigned char reg){
      CS=lo;
      SSPBUF = 0x00;                  // initiate bus cycle
      while ( !BF );      // wait until cycle complete
      CS=hi;
      return ( SSPBUF );              // return with byte read 
    }
    Le fait est que je n'arrive à observer à l'oscillo aucune activité sur les ligne SDO et SDA, l'horloge SCL fonctionne...
     

  9. simon.

    Date d'inscription
    août 2006
    Messages
    380

    Re : pic 16f88 et SPI

    Citation Envoyé par pont2 Voir le message
    Merci Jack de votre sollicitude, mais quel manque de constance de ce correspondant, j'espère bien que dans deux ans je serai encore là, (si un modérateur ne m'a pas jeté?)
    Ça va pas non ?
    Ton comportement est intolérable pour plusieurs aspects:
    - On ne reproche pas à quiconque une non réponse. Si tu veux absolument une réponse, tu paies un consultant !
    - "un copain m'a filé la réponse par ailleurs..." ça te ferait mal de la poster ici pour la postérité, la réponse, maintenant que tu l'as ?
    - Déterrer un sujet vieux de 2 ans, c'est mal. Quand on le fait pour de bonnes raisons, on s'en excuse. Ça évite aux gens de perdre leur temps.
     

  10. MacArell

    Date d'inscription
    juillet 2009
    Messages
    10

    Re : pic 16f88 et SPI

    Concernant "mon" dernier post j'ai fait une erreur dans le code de lecture d'adresse sur le SPI:

    Code:
    //SPI read function
    unsigned char spi_r(unsigned char reg){
      CS=lo;
      SSPBUF = 0x00;                  // initiate bus cycle
      while ( !BF );      // wait until cycle complete
      CS=hi;
      return ( SSPBUF );              // return with byte read 
    }
    le bon code c'est celui là:

    Code:
    //SPI read function (send read register commands to the accelerometer and output resultant read byte)
    unsigned char spi_r(unsigned char reg)
    {
    	unsigned char temp;
    	CS = lo; // pull the CS low to start transmission
    	SSPBUF=((reg&0x3F)<<1); // // send register affress to the accelerometer with read command
    	while(!SSPIF);// wait for transmit to finish
    	temp=SSPBUF; // reading SSPBUF clears the BF bit
    	while(!SSPIF); // wait for receive to finish
    	temp=SSPBUF; // reading SSPBUF clears the BF bit
    	CS = hi; // pull the CS high to stop transmission
    	return temp;
    
    }
     


    • Publicité



  11. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    10 783

    Re : pic 16f88 et SPI

    Le fait est que je n'arrive à observer à l'oscillo aucune activité sur les ligne SDO et SDA, l'horloge SCL fonctionne...
    SCL et SDA concernent l'I2C, pas la SPI.

    A+
     

  12. MacArell

    Date d'inscription
    juillet 2009
    Messages
    10

    Re : pic 16f88 et SPI

    Merci, pour la réponse je me suis mélanger dans les termes pour SCL il faut comprendre SCK et pour SDA > SDI
     

  13. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    10 783

    Re : pic 16f88 et SPI

    Ok. Et donc aucune donnée ne semble circuler alors que SCK fonctionne. SI rien ne fonctionnait, j'aurais pensé que la SPI n'était pas validée, mais là...

    Bon, je ne connais pas trop le hard de ton pic non plus.

    Tu est sur d'être sur la bonne patte et que tes soudures sont bonnes?

    A+
     

  14. DavidDB

    Date d'inscription
    juillet 2004
    Messages
    1 192

    Re : pic 16f88 et SPI

    Citation Envoyé par MacArell Voir le message
    PIC ---> MMA7455L
    SCL (14) --> SCL (14)
    SDO (16) --> SDO (12)
    SDA (15) --> SDA (13)
    RB3 (24) --> CS (7)
    Salut,

    Erreur dans tes connexions :

    SCL --> SCL
    SDO --> SDI
    SDI <-- SDO
    RB3 --> CS

    David.
     


    • Publicité



  15. MacArell

    Date d'inscription
    juillet 2009
    Messages
    10

    Re : pic 16f88 et SPI

    Mes soudures et mes pattes semblent bonnes en fait j'ai un Kit déjà cablé
    par contre comme dit David est-ce qu'il faut câbler dans ce sens?
    SCK --> SCK
    SDO --> SDI
    SDI <-- SDO
    RB3 --> CS

    En fait avec mon nouveau code sur la fonction Read j'ai quelque chose sur SDO et SDI:
    Sur SDI j'ai ca autour de Zero:
    et sur SDO (niveau logique respectés):
    En enlevant le Kit j'ai les mêmes signaux sauf sur SDO où je n'ai plus le signal au tiers à la fin...
    Dernière modification par MacArell ; 08/07/2009 à 15h12.
     


Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. pic SPI et mémoire MMC
    Par legos dans le forum Électronique
    Réponses: 47
    Dernier message: 31/05/2011, 11h02
  2. Compatibilité Pic 16F84/16F88
    Par Tix dans le forum Électronique
    Réponses: 4
    Dernier message: 11/12/2007, 11h33
  3. documentations sur le pic 16f88
    Par said.ettami dans le forum Électronique
    Réponses: 1
    Dernier message: 02/12/2007, 15h00
  4. Recherche Bootloader pour Pic 16f88
    Par samaudio dans le forum Électronique
    Réponses: 4
    Dernier message: 29/07/2007, 21h26
  5. K8048 / Vm111 / Pic 16f88
    Par Paintitblack dans le forum Électronique
    Réponses: 1
    Dernier message: 26/01/2007, 22h14


Les tags pour cette discussion