Question
Problem with LIS3DSH
Hello, it's code correct for testing WHO_I_AM? LED doesn't work
#define LIS3DH_CS_LOW() HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_RESET)
#define LIS3DH_CS_HIGH() HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3, GPIO_PIN_SET)
#define LIS3DH_WHO_AM_I_REG 0x0F
#define LIS3DH_READ_CMD 0x80
uint8_t LIS3DH_ReadWhoAmI(void)
{
uint8_t txData = LIS3DH_WHO_AM_I_REG | LIS3DH_READ_CMD;
uint8_t rxData = 0;
LIS3DH_CS_LOW();
HAL_SPI_Transmit(&hspi1, &txData, 1, HAL_MAX_DELAY);
HAL_SPI_Receive(&hspi1, &rxData, 2, HAL_MAX_DELAY);
LIS3DH_CS_HIGH();
if (rxData == 0x33) {
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_SET);
}
return rxData;
}
