MSP430F55xx , soucis de CS sur le SPI
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

MSP430F55xx , soucis de CS sur le SPI



  1. #1
    amoniaque

    MSP430F55xx , soucis de CS sur le SPI


    ------

    Bonjour,

    J'utilise un MSP430F5528 dont le code est compilé sous IAR et j'ai un souci avec le CS.
    Je configure le module UCB1 en mode 3bits avec un CS commandé en dehors du module.

    Le problème est que quand j'échange une trame d'un octet alors le CS se relève avant que la clock ait finie de transmettre alors que quand il y a plus d'un octet alors le CS fonctionne bien.

    Voici la configuration du SPI :
    //Config IO et registres
    /*****************************/
    P6DIR |= BIT6 + BIT7; // /WP et /HOLD
    P6SEL &= (~BIT6) & (~BIT7) ;
    CBCTL3 &= (~CBPD6) & (~CBPD7);
    P6OUT |= BIT6 + BIT7;

    P4DIR |= BIT0; // /CS
    P4SEL &= ~BIT0;

    P4SEL |= BIT1 + BIT2 + BIT3; // SO, SI, CLK
    UCB1CTL1 |= UCSWRST;

    UCB1CTL0 |= /*UCMODE0 + */ UCMSB + UCMST + UCSYNC;
    UCB1CTL1 |= UCSSEL1 + UCSSEL0;

    UCB1BR0 = 0x00; // 23,04MHz / 0x00E6 = 100kHz, .../0x0017 = 1MHz
    UCB1BR1 = 0x06; // 23,04MHz / 0x0600 = 15kHz

    UCB1IE |= UCTXIE;

    UCB1CTL1 &= ~UCSWRST;

    SPI_CS(1);
    Ma fonctionne d'écriture :
    void SPI_Write(const u8* data, unsigned int length)
    {
    u16 i;

    SPI_CS(0);

    for (i=0; i<length; i++)
    {
    while ((UCB1IFG & UCTXIFG) != UCTXIFG);
    UCB1TXBUF = data[i];
    }

    while ((UCB1IFG & UCTXIFG) != UCTXIFG);

    SPI_CS(1);
    }
    En fichier joint les relevés des signaux CLK et CS.

    Une petite idée d'où je fais mal les choses ?

    Merci par avance.

    -----
    Images attachées Images attachées  

  2. #2
    amoniaque

    Re : MSP430F55xx , soucis de CS sur le SPI

    Problème trouvé !

    Il suffit que je scrute UCBUSY du registre UCB1STAT, il passe à 0 une fois que le registre est libre.

Discussions similaires

  1. spi sur ATmega
    Par invite3570b5f7 dans le forum Électronique
    Réponses: 34
    Dernier message: 16/08/2010, 21h15
  2. Utilisation de mémoire SPI sur une ligne SPI utilisé
    Par VIIV dans le forum Électronique
    Réponses: 1
    Dernier message: 30/12/2009, 13h11
  3. [AVRStudio4 + Atmega128 + SPI] Probleme sur le port SPI
    Par inviteff7a2099 dans le forum Électronique
    Réponses: 1
    Dernier message: 03/12/2008, 03h05
  4. communicatio spi sur visualbasic ?
    Par inviteb0132557 dans le forum Électronique
    Réponses: 5
    Dernier message: 30/04/2008, 14h12
  5. SPI sur PIC 16F876
    Par noisyboxes dans le forum Électronique
    Réponses: 6
    Dernier message: 31/12/2007, 14h03
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...