LIS3DH avec MSP430
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

LIS3DH avec MSP430



  1. #1
    invite6015f114

    LIS3DH avec MSP430


    ------

    Bonjour,

    Je suis actuellement sur la programmation d'un accéléromètre (LIS3DH), mais j'ai de nombreux souci. J'utilise un MSP430F1611.
    Je comprend pas comment on peut envoyer à l'accéléro des configurations pour lui placer un seuil qui permet d'enlever des mouvements parasite voulu.

    Quelqu'un à t'il déja programmer un accéléro sur msp? Car sur internet on trouve principalement du code pour stm.

    Cordialement
    Morcelino

    -----

  2. #2
    invite6015f114

    Re : LIS3DH avec MSP430

    Bonjour,

    Un petit up pour savoir si quelqu'un à une idée.

    Voila mon programme qui est quasi vide pour ne pas dire vide. J'essaye de mettre en place le LIS3DH en i2c.

    #include <__cross_studio_io.h>
    #include <msp430x16x.h>

    #define CTRL_REG1 0x87
    #define CTRL_REG2 0x
    #define CTRL_REG3
    #define CTRL_REG4 0xB8
    #define CTRL_REG5 0x0C
    #define CTRL_REG6
    #define Reference 0x00
    #define INT1_THS
    #define INT1_DURATION
    #define INT1_CFG 0x7F
    #define INT1_SRC 0X7F

    void main(void)
    {

    WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

    P4DIR |= 0x10; // P4.5 output direction(CS )
    P4OUT |= 0x01; // CS High -> I2C




    while(1){

    __bis_SR_register(CPUOFF + GIE);

    }

    }
    Dans la doc il est mentionné le sa0 comme étant le lsb. Donc au final sur ce type d'accéléro l'i2c prend autant de patte que le spi.

    C'est pour ca que je suis un peu dans le brouillard. Est-il plus simple de le faire en spi ou i2c?

    Cordialement
    Morcelino

  3. #3
    invite6015f114

    Re : LIS3DH avec MSP430

    Bonjour,

    Voila un peu l'avancement.

    #include <__cross_studio_io.h>
    #include <msp430x16x.h>

    #define CTRL_REG1 0x87
    #define CTRL_REG2 0x
    #define CTRL_REG3
    #define CTRL_REG4 0xB8
    #define CTRL_REG5 0x0C
    #define CTRL_REG6
    #define Reference 0x00
    #define INT1_THS
    #define INT1_DURATION
    #define INT1_CFG 0x7F
    #define INT1_SRC 0X7F

    void main(void)
    {

    WDTCTL = WDTPW + WDTHOLD; // Stop watchdog
    P3SEL |= 0x0a; // Assign I2C pins to module car sinon il n'est pas possible de configurer apres
    U0CTL |= I2C + SYNC; // Switch USART0 to I2C mode
    U0CTL &= ~I2CEN; // Recommended I2C init procedure
    I2CTCTL = I2CSSEL_2; // SMCLK
    I2CNDAT = 0x01; // Transmit one byte
    I2CSA = 0x18; // Slave address
    U0CTL |= I2CEN; // Enable I2C, 7 bit addr,

    CCTL0 = CCIE; // CCR0 interrupt enabled
    TACTL = TASSEL_2 + MC_2; // SMCLK, contmode

    _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
    }

    // Timer A0 interrupt service routine
    #pragma vector=TIMERA0_VECTOR
    __interrupt void Timer_A (void)
    {
    if (I2CDRB > 0x1e) P1OUT |= 0x01; // LED on
    else P1OUT &= ~0x01; // LED off
    U0CTL |= MST; // Master
    I2CTCTL |= I2CSTT + I2CSTP; // Read, ST, SP (clears MST)
    }
    Le micro doit être configuré maintenant, mais je comprend toujours pas pour l'accéléro comment faire.

    Help plz.

Discussions similaires

  1. Msp430
    Par invite7285b0f8 dans le forum Électronique
    Réponses: 13
    Dernier message: 26/05/2012, 12h56
  2. Faire un timer avec un MSP430
    Par invite6015f114 dans le forum Électronique
    Réponses: 4
    Dernier message: 15/05/2012, 11h46
  3. MSP430 et TUSB3410
    Par invite8fe13b0e dans le forum Électronique
    Réponses: 1
    Dernier message: 21/03/2012, 15h56
  4. Multiplexage de LEDs avec MSP430
    Par invitec9b297c9 dans le forum Électronique
    Réponses: 8
    Dernier message: 17/02/2012, 14h52
  5. microcontroleur msp430
    Par invite48fedcb2 dans le forum Électronique
    Réponses: 5
    Dernier message: 18/03/2008, 10h18
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...