AnsweredAssumed Answered

spi sending data adress issues

Question asked by ali.med on Sep 2, 2014
Latest reply on Sep 3, 2014 by Clive One
Hi guys ,
i am trying to figure out how to get stm32f4 discovery board accelerometer work.
After checking the lisd302dl datasheet and reference manual (that wasn't too much helpful) ,i went to forum where i find the example in this post.
Could somebody explain to us (obviously i am not the only one who asked about that) why and where did we find the adress to send on the spi (0xAB00,0x20C7) ?
I am asking since i didn t find anything in both previous references.
Thank you for your attention
int main(void)
 
 
{
 
        SystemInit();
 
        GPIO_InitTypeDef GPIO_InitStructure;
        SPI_InitTypeDef  SPI_InitStructure;
 
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOE , ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
 
 
          //Init SPI-Pins
          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
          GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
          GPIO_Init(GPIOA, &GPIO_InitStructure);
          //Init CS-Pin
          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
          GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
          GPIO_Init(GPIOE, &GPIO_InitStructure);
 
          GPIO_SetBits(GPIOE, GPIO_Pin_3);  //Set CS high
 
 
          GPIO_PinAFConfig (GPIOA, GPIO_PinSource5 |GPIO_PinSource6 |GPIO_PinSource7 , GPIO_AF_SPI1);
 
 
          SPI_I2S_DeInit(SPI1);
          SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
          SPI_InitStructure.SPI_Mode = SPI_Mode_Master ;
          SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b ;
          SPI_InitStructure.SPI_CPOL = SPI_CPOL_High    ;
          SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
          SPI_InitStructure.SPI_NSS = SPI_NSS_Soft ;
          SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_32;
          SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
          SPI_InitStructure.SPI_CRCPolynomial = 0;
          SPI_Init(SPI1, &SPI_InitStructure);
 
 
 
          SPI_Cmd(SPI1, ENABLE);
 
          GPIO_ResetBits(GPIOE, GPIO_Pin_3);
 
 
          SPI_I2S_SendData(SPI1, 0x20C7);    //Sensor Config
 
 
 
    while(1){
        //Read Y-Axis
        SPI_I2S_SendData(SPI1, 0xAB00);
        SPI_I2S_ReceiveData(SPI1);
    }

Outcomes