#include "stm32f10x.h" #include "accelerometer.h" #include "MySPI.h" #include "gpio.h" void accelerometre() { int dataX ; float GX ; int dataY ; float GY; int dataZ ; float GZ; char testReg; MySPI_Init(SPI1); MySPI_Clear_NSS(); //CS LOW MySPI_Send(0x2D);//Registre Auto_sleep + Write + measure a 1 MySPI_Send(0x08);// désactive MySPI_Set_NSS();//CS HIGH MySPI_Clear_NSS(); //CS LOW MySPI_Send(0xAD);// regisstre 0x2D en lecture testReg = MySPI_Read(); // lecture de la valeur du registre MySPI_Set_NSS();//CS HIGH MySPI_Clear_NSS(); //CS LOW MySPI_Send(0X2C);//Registre power consuption + Write MySPI_Send(0X1A);//Paramétrage hors low consumption + 100Hz output data rate MySPI_Set_NSS();//CS HIGH MySPI_Clear_NSS(); //CS LOW MySPI_Send(0x31);//registre Data format + write MySPI_Send(0x17);// MySPI_Set_NSS();//CS HIGH MySPI_Clear_NSS(); //CS LOW MySPI_Send(0xF2); dataX = MySPI_Read()<<8; dataX |= MySPI_Read(); dataX &= 0xE; GX = dataX*0.004; dataY = MySPI_Read()<<8; dataY |= MySPI_Read(); dataY &= 0xE; GY = dataY*0.004; dataZ = MySPI_Read()<<8; dataZ |= MySPI_Read(); dataZ &= 0xE; GZ = dataZ*0.004; MySPI_Set_NSS();//CS HIGH }