用F407从不同的mpu9250传感器读取“ID”寄存器时,总线返回的十进制响应是226或230。分别对应数据手册中的113(0x71)和115(0x73),这是为什么? uint8_t mpu9250_spi_read_8 (uint8_t addr) { uint8_t reg = 0, val = 0; reg = addr|0x80; CS_ON; HAL_SPI_Transmit_DMA(&hspi2, ®, 1 ); while (HAL_SPI_GetState(&hspi2) != HAL_SPI_STATE_READY); HAL_SPI_Receive_DMA(&hspi2, val, 1); while (HAL_SPI_GetState(&hspi2) != HAL_SPI_STATE_READY); CS_OFF; return val; }
接收缓冲区包含正确数据但结果为零,似乎是TransmissionReceive方法中存在错误?
|