Estoy intentando leer el registro de ID de BMC150 utilizando SPI. Estoy usando el microcontrolador stm32f103. La línea de reloj serie está bien y los datos se envían correctamente a través del MOSI del microcontrolador. Pero ninguna respuesta es enviada de vuelta a través de MISO. He comprobado las señales utilizando el osciloscopio. Aquí está una parte de mi código C. ¿Cómo puedo resolver este problema? Gracias.
while(1){
//Activate Slave
SPI_GPIO->BRR = SPI_PIN_SS;
// Go to active power mode
SPI_I2S_SendData(SPIx, 0x4B01);
while (!(SPIx->SR & (SPI_I2S_FLAG_TXE)));
// delay for applying setting stably
delay_ms(1);
// Go to normal mode
SPI_I2S_SendData(SPIx, 0x4C00);
while (!(SPIx->SR & (SPI_I2S_FLAG_TXE)));
delay_ms(1);
// read request
SPI_I2S_SendData(SPIx, 0xC000);
while (!(SPIx->SR & (SPI_I2S_FLAG_RXNE)));
while (SPIx->SR & (SPI_I2S_FLAG_BSY));
}